gpt4 book ai didi

java - 在 Java 中使用静态内部类作为 POJO 是一个好主意吗

转载 作者:行者123 更新时间:2023-12-02 01:37:46 34 4
gpt4 key购买 nike

当我们通常想要创建一个由像List<MyObject> = new ArrayList<>();这样的POJO组成的集合时我们通常创建公共(public)类MyObject在其自己的。

但是如果我们创建一个 private static MyObject 会怎么样?声明集合的父类中的内部类?

这是一个例子:

public class MyClass {
public static void main(String args[]) {

List<MyObj> objList = new ArrayList<>();

for (int i = 0; i < 10; i++) {
MyObj obj = new MyObj();
obj.name = "Odel B Jr.";
obj.age = "2";

objList.add(obj);
}

System.out.println(objList);

}

private static class MyObj {
private String name;
private String age;

@Override
public String toString() {
return "MyObj [name=" + name + ", age=" + age + "]";
}
}
}

请注意,这会创建 10 new静态对象。

我的问题是,哪个更好? 10 个新的静态对象还是 10 个新的常规 java 对象?

我试图从 JVM 的角度来解决这个问题 - 即关注性能。并不是真正关于根据 Java OOP 原则进行对象的设计/可访问性。

最佳答案

My thing is, which is better? 10 new static objects or 10 new regular java objects?

I'm trying to approach this from JVM's point of view - i.e. with a focus on performance. Not really about design/accessibility of objects according to Java OOP principles.

静态成员类可以被视为普通的顶级类,它恰好嵌套在封闭类中。几乎在对 JVM 重要的所有方面,静态成员类都是顶级类。

从性能角度来看,静态成员类的性能可以与作为实际顶级类编写的同一类的性能相同。静态成员类的实例独立于其封闭类,并且不需要封闭类实例即可实例化。

关于java - 在 Java 中使用静态内部类作为 POJO 是一个好主意吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54975694/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com