我不知道这是否已经被问过,因为我在任何地方都找不到。
所以,最近我在 IntelliJ IDEA 中遇到了这个功能,它说转换表达式。
这是图片:
我想知道的是ClassA object = new ClassA();
有什么区别和 new ClassA();
.
是否有任何功能差异或其他任何可能以任何方式影响正常代码运行的内容?
最佳答案
如果您的代码包含一个变量
ClassA object = new ClassA();
您以后在代码中永远不会使用它,您可以消除变量和 new ClassA()
表达。但是,如果创建
ClassA()
的实例有一些与您的程序相关的副作用(即,即使您稍后不对创建的 ClassA
实例执行任何操作,您也需要执行 ClassA
的构造函数),您可以将该语句替换为创建一个不将其分配给变量的实例:new ClassA();
这样的声明清楚地表明,创建的实例不应通过以下代码在以后访问。但是,这两个语句的功能相同(尽管第一个语句可能会导致警告,说明您声明了一个未使用的变量)。
关于java - "ClassA object = new ClassA();"和 "new ClassA();"之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62531114/