Java 比较两个对象时,哪种做法的性能更好
我有一个目标如下Java 比较两个对象时,哪种做法的性能更好,java,performance,Java,Performance,我有一个目标如下 class Person { String name; } 所以,如果我必须在相等条件下比较两个人对象的名称,下面哪种方法更好,为什么 方法1: if (aPerson.getName().equals(bPerson.getName()) == false){ System.out.println("They are not same person"); } 方法2: if(!aPerson.getName().equals(b
class Person {
String name;
}
所以,如果我必须在相等条件下比较两个人对象的名称,下面哪种方法更好,为什么
方法1:
if (aPerson.getName().equals(bPerson.getName()) == false){
System.out.println("They are not same person");
}
方法2:
if(!aPerson.getName().equals(bPerson.getName()){
System.out.println("They are not same person");
}
我只从绩效角度寻找答案。提前感谢您显示的布尔条件之间没有性能差异 如果您真的担心这一点,那么您正在优化错误的代码
如果您关心文件大小,那么使用较短的变量和方法名从技术上讲,一个完全没有大脑的JVM可能会有性能差异,因此如果存在差异,这将是放弃JVM的信号,而不是优化代码!代码中其他所有操作的性能可能都要高得多。e、 从输出中删除一个字符可能会产生更大的差异。虽然在本例中没有区别,但这与我的程序中的代码并不完全相同。我只对学习感兴趣,如果有什么不同的表现之间!操作和==错误操作。这个检查被调用了近百万次,所以即使是一个小小的毫秒级的改进也很重要。一毫秒会有不同,但在你的例子中,你说的是纳秒或0.000001毫秒。事实上,编译后的代码完全相同,因此为零。对于这种操作,写入System.out的成本要高出数百万倍。即使是比较两个多了一个字符的字符串也要贵10倍以上。@Jijoy,这是零差异。别再为这样的事烦恼了。