精华内容
下载资源
问答
  • 向方法传递对象参数

    2019-10-25 19:12:25
    public class Circle { private double radius = 1; private static int numberOfObjects = 0; public Circle() { numberOfObjects++; } public Circle(double newRadius) { ...
    public class Circle {
        private double radius = 1;
        private static int numberOfObjects = 0;
    
        public Circle() {
            numberOfObjects++;
        }
    
        public Circle(double newRadius) {
            radius = newRadius;
            numberOfObjects++;
        }
    
        public double getRadius() {
            return radius;
        }
    
        public void setRadius(double newRadius) {
            radius = newRadius;
        }
    
        public int getNumberOfObjects() {
            return numberOfObjects;
        }
    
        public double getArea() {
            return radius * radius * Math.PI;
        }
    }
    
    
    
    
    
    public class Test {
        public static void main(String[] args) {
            Circle c1 = new Circle(1);
            int n = 5;
            printArea(c1, n);
            System.out.println("c1's radius is " + c1.getRadius());
    
        }
    
        public static void printArea(Circle c, int times) {
            System.out.println("Radius\t\tArea");
            while (times >= 1) {
                System.out.println(c.getRadius() + "  \t\t" + c.getArea());
                c.setRadius(c.getRadius() + 1);
                times--;
            }
        }
    }
    "D:\java 12.0\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2\lib\idea_rt.jar=49394:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\26601\untitled3\out\production\untitled3 Test
    Radius		Area
    1.0  		3.141592653589793
    2.0  		12.566370614359172
    3.0  		28.274333882308138
    4.0  		50.26548245743669
    5.0  		78.53981633974483
    c1's radius is 6.0
    
    Process finished with exit code 0
    
    
    展开全文
  • 1.在两个swap函数中,swap1对实例进行交换操作,而swap2对实例数据域进行交换操作,令我感到疑惑的是为什么swap1交换后输出的数据域没有发生交换? 代码如下: ``` public class ObjectAndClass { ...
  • public class Test { public static void main(String[] args) { Date date = new Date(1234567); m1(date); System.out.println(date.getTime()); } public static void m1(Date date) { date = new Date...
  • java相关:spring mvc利用ajaxcontroller传递对象方法示例发布于 2020-12-31|复制链接摘记: 前言最近因为工作的需要,在写一个基于springmvc+spring+mybatis的项目,其中涉及用ajaxcontroller发送数据的功能。...

    java相关:spring mvc利用ajax向controller传递对象的方法示例

    发布于 2020-12-31|

    复制链接

    摘记: 前言

    最近因为工作的需要,在写一个基于springmvc+spring+mybatis的项目,其中涉及用ajax向controller发送数据的功能。因为不想使用spring的form标签,所以想看看有没有方法将ajax中的j ..

    前言最近因为工作的需要,在写一个基于springmvc+spring+mybatis的项目,其中涉及用ajax向controller发送数据的功能。因为不想使用spring的form标签,所以想看看有没有方法将ajax中的json数据直接转化为controller方法中的对象接收并处理。以下将逐渐介绍各种不同情况下传递json数据并封装的方法,下面话不多说,一起来看看详细的介绍:基础类型

    如果传递的json数据为基础类型(Int,String等)的话,则只需要用@RequestParam标注方法中的参数就行了。ajax代码

    ```javascript

    $.ajax({

    url : "someurl",

    type : "POST",

    dataType : "JSON",

    data : {"name":"test", "password":"testpassword"},

    success : function (data) {

    console.log(data)

    }

    })

    ```

    java代码

    ```java

    @RequestMapping("someurl")

    public @ResponseBody SomeData basicType(@RequestParam String name, @RequestParam String password){

    //具体方法

    }

    ```

    在这里@ResponseBody说明返回的是一个对象。@RequestParam的用法还很多,具体可以去参考springmvc的文档简单的对象类型

    简单的对象类型是指,在对象中不包含复杂的数据结构类似于list,map等。在这里可以使用标签@ModelAttribute来直接将JSON数据封装成对象。

    假设我们有一个用户对象,用户的属性包括name,age

    ```java

    public class User{

    private String name;

    private int age;

    //getters and setters

    }

    ```

    ajax传输的数据如下

    ```javascript

    $.ajax({

    url : "someurl",

    type : "POST",

    dataType : "JSON",

    data : {

    'name : 'test',

    'age' : 10

    },

    success : function (data) {

    console.log(data)

    }

    })

    ```

    controller中的代码如下

    ```java

    @RequestMapping("someurl")

    public @ResponseBody SomeData objects(@ModelAttribute User user){

    //具体方法

    }

    ```

    springmvc 暂时不支持接收并生成多个modelAttribute

    数组类型

    有些情况下,可能需要传递一组相同类型的数据,比如添加一组用户的信息。这是可以通过ajax传递一个数组给controller方法。具体情况可以参考这个回答

    这个回答给的非常的详细具体,需要补充的是,接收端的数据结构无论是List或是T[]都可以成功获得数组数据。复杂的对象

    但是上面的方法有一个问题,就是只能接收纯数组数据。假设一个对象,比如用户,该用户下的属性除了包含name(名称),age(年龄)之外,还有一个联系方式属性contacts(List) ,如何才能将既包含基本类型又包含数组类型的JSON数据直接封装成对象呢?这里就需要标签@RequestBody

    ajax代码如下,需要注意的是,这里需要用JSON.stringfy()方法将json数据转化成字符流,添加至requestbody中。且在ajax方法中必须指明contentType和dataType属性。

    ```java

    public class User{

    private String name;

    private int age;

    private List contacts;

    //或是 private String[] contacts;

    //getters and setters

    }

    ```

    ```javascript

    $.ajax({

    var user = {

    'name' : 'test',

    'age ' : 10,

    'contacts' : ['12313','123213123']

    }

    url : "someurl",

    type : "POST",

    dataType : "JSON",

    contentType:"application/json",

    data : JSON.stringify(user),

    success : function (data) {

    console.log(data)

    }

    })

    ```

    java代码如下

    ```java

    @RequestMapping("someurl")

    public @ResponseBody SomeData complicateObject(@RequestBody User user){

    //方法详情

    }

    ```

    展开全文
  • 后台传递数组参数的时候其实是有很多种情况的 qs的基础使用 import qs from 'qs' //引入方式 this.qs.stringify(data); //使用方式 this.qs.parse(data); //使用方式 this.$axios.post('/xxx', qs.stringify...

    qs

    当我用了几次qs以后就发现了个坑
    向后台传递数组参数的时候其实是有很多种情况的

    qs的基础使用
    import qs from 'qs'   //引入方式
    this.qs.stringify(data);  //使用方式
    this.qs.parse(data);  //使用方式
     
    this.$axios.post('/xxx',
            qs.stringify(obj)).then(res=>{
            console.log(res.data)
            if(res.data.ret){
              console.log('添加成功')
            }else{
              console.log('添加失败')
            }
          }).catch(err=>{
            console.log(err);
          })
    

    arrayFormat可以格式化你的数组参数,有三种形式

    
    qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })
    // 'a[0]=b&a[1]=c'
    qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })
    // 'a[]=b&a[]=c'
    qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
    // 'a=b&a=c'
    
    

    但是我三个都试了还是解决不了我要传递的格式,即members[0].userUuid这种形式
    最后面向百度编程,找到了一位好心的前辈所留经验(感谢前辈!)

    qs.stringify(obj,{arrayFormat: 'indices', allowDots: true}))
    //有了后面这一条代码,就把members[0][userUuid]转成了想要的members[0].userUuid
    
    展开全文
  • 方法对象参数

    2016-03-10 20:01:13
    在java中可以向方法传递对象参数,而这种传递实际上是传递对象的引用; 对象就像一种打开方法(房间)的钥匙,而方法传递的对象参数就像这把钥匙的备用,所以对象能做到的,对象2(方法中引用的对象)也能做到; 而...

    在java中可以向方法传递对象参数,而这种传递实际上是传递对象的引用;

    对象就像一种打开方法(房间)的钥匙,而方法传递的对象参数就像这把钥匙的备用,所以对象能做到的,对象2(方法中引用的对象)也能做到;

    而对象2对原方法的改变,对象也会有着相应的改变;eg

    package newpackage1;
    
    public class Object2 {
         int radius = 56;
         void put(){
            System.out.println("hello word");
        }
    }

    此定义了原方法Object,以下是对原方法的引用

    package newpackage1;
    
    
    public class Object {
        public static void main(String[] args){
            Object2 circle = new Object2();
    <span style="white-space:pre">	</span>System.out.println("radius1 = " + circle.radius);
            Method(circle);
            System.out.println("radius2 = " + circle.radius);
        }
    
    
        private static void Method(Object2 circle2) {
           circle2.radius = 154;
           circle2.put();
        }
    }
    输出:
    radius1 = 56
    hello word
    radius2 = 154

    对象circle2对原方法的改变,也使对象circle改变。



    展开全文
  • 在没有Attack()方法的情况下,enemyClass是完全相同的(试图使一切尽可能简单) ^{pr2}$ 从我读到的内容来看,我已经将'self'关键字应用到Attack的类定义中,当调用'p1.Attack(…)'时'p1'应该是这样传递的,但是由于...
  • CLR默认所有方法都传值。传递引用类型的对象时,对象引用(或者说指向对象的指针)被传递方法。...重要提示:在方法中,必须知道传递的每个参数是引用类型还是值类型,处理参数的代码显著有别。 CLR允许以传引...
  • C++_函数传递对象

    2019-10-02 10:01:07
    函数传递对象 1. 使用对象作为函数参数 对象可以作为参数传递给函数,其方法与传递其他类型的数据相同。 在函数传递对象时,是通过传值调用传递给函数的。 因此,函数中对对象的任何修改均不影响调用该函数的...
  • 方法第一个形参是类对象方法需要用装饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数。class Dog(object): __type = "狗" # 类方法,用classmethod来进行...
  • 9.3以传引用的方式向方法传递参数 CLR默认所有方法参数都传值。传递引用类型的对象时,对象引用或者说指向对象的指针,被传给方法。 注意引用本身是传值的,意味着方法能修改对象。 对于值类型的实例,传给方法的...
  • 在JS中后台传递数组参数,如果数组中放的是对象类型,传递到后台是显示的只能是对象字符串--[object Object],具体的原因及解决方法如下,有类似问题的朋友可以参考下
  • 函数传递对象

    2013-01-06 11:19:13
    对象可以作为参数传递给函数,其方法传递其他类型的数据相同: –值传递对象的一个拷贝) –地址传递  –引用传递 建议 当函数的形式参数是类的对象时,如果在函数内部不需要改变形式参数的...
  • 这次给大家带来怎么用Post方法传递json参数,用Post方法传递json参数的注意事项有哪些,下面就是实战案例,一起来看一下。本文主要介绍如何使用Angularjs $http服务以POST方法服务器传递json对象数据。具体如下:...
  • 方法又称为功能函数,有...从面向对象的角度理解,方法可以描述一类对象的行为与功能。展现某个对象的行为,调用该对象对应的方法就可以完成。1. 定义方法方法必须在一个类中定义,不能单独存在。public class Pers...
  • # JS 调用函数传递可变参数方法function test() {for(var i = 0;i < arguments.length; i++) {alert(arguments[i]);}}//调用函数test(1, 2, 3, 'abc');# PHP 调用函数传递可变参数方法//方法一//接收一系列...
  • 3.5.1 使用对象作为函数参数,其方法传递基本类型的变量相同 //例3.21 使用对象作为函数参数 #include<iostream> using namespace std; class A{ public: A(int n) { t = n; } void set.....
  • 传递字符串,然后再以","分隔成数组取参数,这样感觉不太安全,而且万一数据里本身有"," 就崩了,有什么好的方法解决此类问题吗? 问题描述的好像不太准确,重新补充一下: ==================================== 我...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,769
精华内容 707
关键字:

向方法传递对象参数