假设我们有一个类如下:
public class Time{
int hour;
int min;
Time(int hour,int m){
hour=h;
min=m;
}
public String toString(){
return hour+":"+min;
}
}
我想在 main 中写一些这样的代码,结果如注释中所示:
Time t1 = new Time(13,45);
Time t2= new Time(12,05);
System.out.println(t1>=t2); // true
System.out.println(t1<t2); // false
System.out.println(t1+4); // 17:45
System.out.println(t1-t2); // 1:40
System.out.println(t1+t2); // 1:50 (actually 25:50)
System.out.println(t2++); // 13:05
我可以通过接口(interface)等来做到这一点吗?还是我唯一能做的就是编写方法而不是使用运算符?
提前致谢。
最佳答案
这称为运算符重载,Java 不支持:Operator overloading in Java
所以是的,你必须坚持使用方法。
编辑:正如一些评论所说,您可以实现 Comparable 来制作您自己的 compareTo 方法 https://stackoverflow.com/a/32114946/3779214
关于java - 在 Java 中对对象使用运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32114848/