Java 为什么本地日期对象在第8行打印为真,而在第9行和第10行打印为假?
为什么本地日期对象在第8行打印为真,而在第9行和第10行打印为假Java 为什么本地日期对象在第8行打印为真,而在第9行和第10行打印为假?,java,Java,为什么本地日期对象在第8行打印为真,而在第9行和第10行打印为假 import java.time.LocalTime; public class Main{ public static void main(String arg[]){ LocalTime t1,t2,t3; t1=LocalTime.parse("10:10"); t2=LocalTime.of(10,10); t3=LocalTime.parse("10
import java.time.LocalTime;
public class Main{
public static void main(String arg[]){
LocalTime t1,t2,t3;
t1=LocalTime.parse("10:10");
t2=LocalTime.of(10,10);
t3=LocalTime.parse("10:10");
System.out.println(t1==t1);
System.out.println(t1==t3);
System.out.println(t2==t3);
}
}
我建议你们读一下equals和==
public class Main {
public static void main(String arg[]) {
LocalTime t1, t2, t3;
t1 = LocalTime.parse("10:10");
t2 = LocalTime.of(10, 10);
t3 = LocalTime.parse("10:10");
System.out.println(t1 == t1);//true because it matches same memory location
System.out.println(t1 == t3);
System.out.println(t2 == t3);
//you have to use equals method to compare t1,t2,t3 objects
System.out.println(t1.equals(t1));//true
System.out.println(t1.equals(t3));//true
System.out.println(t2.equals(t3));//true
}
}
这将显示差异使用
=
操作符检查对象本身是否相同
您必须使用
equals
按内容比较对象,因为=
比较引用t1
与t1
具有相同的引用,因此第一行打印true
,而其他行打印false
。