今天写了一段代码
public static void main(String[] args) {
String time = new String(getStringDate().substring(8, 10));
String time2 = new String(getStringDate().substring(8, 10));
if (time==time2) {
System.out.println(time + "===" + time2);
}
// System.out.println(time);
}
发现这个代码输出不出来东西,后来自己调试发现time 并不是我截取出来的字符串,而是原来的getStringDate,这是为什么呢
原来==号代表比较两个值的内存空间,time的内存空间是 某年某月某事某分某秒,他和time2的某秒不一样所以内存空间不一样。
equal代表的是比较两个值,用它就能输出值来了
public static void main(String[] args) { String time = new String(getStringDate().substring(8, 10)); String time2 = new String(getStringDate().substring(8, 10)); if (time.equals(time2)) { System.out.println(time + "===" + time2); } // System.out.println(time); }