为什么第一个箭头指向的代码不会始终为TRUE 而第二个箭头指向的代码会出现 始终为TRUE啊
因为你的第一个箭头那里是取的str[]数组里面的值做比较哇,而你的j又是不断在循环变化的,所以比较出来有时大有时小;
但是第二个箭头不一样,你用双引号引起来了,表示一个写死的字符串,俩字符串不一样,所以比较的结果大于0,始终为true
其实就是idea的分析功能,它分析到你下面那个固定字符串得出的结果一定为true,因为你下面的字符串是写死的嘛
第二是确定的字符串比较,编译器可以自行推导出结果。不需要运行。第一个比较需要动态计算,只有在运行时才能知道结果。就没有提示 。 至于为什么是true,就要看字符比较的规则了。
IDEA确实在这里有些问题,建议你不去管提示
请看👉 :Java中String类中compareTo( )方法