继承了现有的代码库,无法联系到原始开发者。
我知道对于普通的 Java bean,您有变量声明、getter 和 setter。
public class FooBean{
private String foo;
private String bar;
// getters and setters
}
但是在这段代码中,我注意到所有的字符串都被初始化了。
public class FooBean{
private String foo = new String();
private String bar = new String();
// getters and setters
}
处理这个 bean 的代码没有任何特殊的特殊情况,它似乎与删除的初始化完全相同。
是否有理由以这种方式创建?它有某种我没有意识到的副作用吗?
它不会阻止字段被设置为 null,因此在任何一种情况下都需要相同类型的值检查。
最佳答案
它只是给出一个初始的非空值。
不过这样写会更好
private String foo = "";
private String bar = "";
由于不需要创建新的String对象,最好重用字符串池中的空字符串实例。
关于java - 在声明期间在 bean 中创建新字符串的目的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36176968/