Java 为什么本地日期对象在第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

为什么本地日期对象在第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: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