Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回java中的匿名对象_Java_Javascript - Fatal编程技术网

返回java中的匿名对象

返回java中的匿名对象,java,javascript,Java,Javascript,在JavaScript中,我们可以执行以下操作: function foo() { ... return { attr1 : ... , attr2 : ..., }; } 但是它在Java中的等价物是什么 因为我想在ajax调用后从控制器返回一个自定义Json对象,并且我想创建一个新bean。根据Java的指示,您应该创建一个新类并将其转换为Json。此外,您还可以使用Map来完成相同的任务。要生成以下JSON: { "a

在JavaScript中,我们可以执行以下操作:

function foo() {
   ...

    return {
        attr1 : ... ,
        attr2 : ...,
       };
}
但是它在Java中的等价物是什么


因为我想在ajax调用后从控制器返回一个自定义Json对象,并且我想创建一个新bean。

根据Java的指示,您应该创建一个新类并将其转换为Json。此外,您还可以使用
Map
来完成相同的任务。要生成以下JSON:

{
    "attr1":1,
    "attr2":2
}
您可以使用以下代码:

 Map<String,Object> map = new HashMap<>(3);
 map.put("attr1", 1);
 map.put("attr2", 2);
Map-Map=newhashmap(3);
地图放置(“属性1”,1);
地图放置(“属性2”,2);
并将其转换为JSON


注意:
HashMap
在Java中会导致堆增加和不必要的垃圾,因此我指定的大小刚好足以保留两个元素。

可能的重复必须定义一个新类,Java中没有匿名对象。你不能像那样真的比较这两种语言,我会使用
Map
。作为最后的手段,您始终可以返回
对象
,但不能返回原语为什么不只返回
新HashMap(2)?存在系数问题,默认值为0.75。这意味着,当
HashMap
的75%已满时,它将扩展到更大的大小,并且当您的映射较大时,它需要时间。您可以在构造函数中指定因子值。