Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.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_Memory_Methods_Field - Fatal编程技术网

Java-字段与实现方法

Java-字段与实现方法,java,memory,methods,field,Java,Memory,Methods,Field,我必须解析JSON响应并返回保存其数据的对象。但我不确定哪种解决方案更“内存友好”: 方法1:字段 public class MyElement { private int var1; public MyElement(int var1) { this.var1 = var1; } public int getVar1() { return var1; } } 方法1.1:现场直接访问。 方法1.2:使用建筑商/工

我必须解析JSON响应并返回保存其数据的对象。但我不确定哪种解决方案更“内存友好”:

方法1:字段

public class MyElement {

    private int var1;

    public MyElement(int var1) {
        this.var1 = var1;
    }

    public int getVar1() {
        return var1;
    }

}
方法1.1:现场直接访问。
方法1.2:使用建筑商/工厂

方法2:

public interface MyElement {
    int getVar1();
}

// In Code
return new MyElement() {
    @Override
    public int getVar1() {
        return 5;
    }
}

旁注:
public getVar1()
不编译。方法1、1.1和1.2之间的任何差异都可以忽略不计(尽管1.1是可变的,除非您将字段
设置为final
),但我会使用方法1。这是因为,使用方法2,实际上创建了一个新的(匿名)类。如果执行多次,就会创建成吨的类。当然,除非在真正大规模的情况下,否则这些差异通常并不重要,所以当内存不是问题时,不要让它成为问题。

我认为JavaBean标准是一种更好的方法,因为它在软件开发的大多数实现中都遵循

我有很好的参考链接供您参考,下面将详细解释您的疑问:


我不会写这样的东西:用杰克逊。它要求您的对象遵循JavaBean标准。在你分析了你的应用程序并且数据告诉你有问题之前,不要担心内存友好。