Java 为什么这两种类型不同?
我将字符串拆分为字符串[]arr,并希望将arr的元素与字符串进行比较 但我不知道为什么System.out.println(arr[0]==“P”);返回“false” 请检查我的密码并回答我。谢谢大家!Java 为什么这两种类型不同?,java,Java,我将字符串拆分为字符串[]arr,并希望将arr的元素与字符串进行比较 但我不知道为什么System.out.println(arr[0]==“P”);返回“false” 请检查我的密码并回答我。谢谢大家! enter code here String s = "pPooyy"; s = s.toUpperCase(); String[] arr; arr = s.split(""); System.out.println(arr[0]); System.out.println(arr[0
enter code here
String s = "pPooyy";
s = s.toUpperCase();
String[] arr;
arr = s.split("");
System.out.println(arr[0]);
System.out.println(arr[0] == "P");
这就是结果。
P
假的
System.out.println(arr[0]);->这个println的结果是P,所以我认为System.out.println(arr[0]=“P”);将返回“true”,但它不是
为什么这两种类型不同 为什么不使用charAt
Syso(s.charAt(0)=='P')
如果有帮助,请告诉我谢谢您的回答!但我只是想知道为什么这个语句System.out.println(arr[0]=“P”);return false.“我只是想知道为什么这个语句,
System.out.println(arr[0]=“P”)
print false”-因为arr[0]
和“P”
不是同一个对象。这就是参考值的含义。测试两个字符串是否相等的正确方法(在直观意义上)在dup链接Q&A中有描述。“为什么这两种类型不同?”-类型没有区别。不同的是这些值。类型和值不是一回事。@Stephen C非常感谢您的支持,answel!根据你的回答,我可以找到“==”与.equals()之间的区别,而且我认为我需要了解CBR,CBV!我很高兴能帮上忙。