转换为字符串后无法识别Java UUID
在编程过程中,我注意到以下行为。我希望这个代码段打印“它们相等”,而不是打印“它们不相等”,有人能解释一下这种行为吗?多谢各位转换为字符串后无法识别Java UUID,java,uuid,Java,Uuid,在编程过程中,我注意到以下行为。我希望这个代码段打印“它们相等”,而不是打印“它们不相等”,有人能解释一下这种行为吗?多谢各位 public static void main(String[] args){ UUID originalUUID = UUID.randomUUID(); String string = originalUUID.toString(); UUID copiedUUID = UUID.fromString(string); S
public static void main(String[] args){
UUID originalUUID = UUID.randomUUID();
String string = originalUUID.toString();
UUID copiedUUID = UUID.fromString(string);
System.out.println("Original: " + originalUUID);
System.out.println("Copy : " + copiedUUID);
if(originalUUID == copiedUUID){
System.out.println("They are equal");
}else{
System.out.println("They are not equal");
}
}
==运算符测试两个引用是否指向同一个对象,而不是两个对象是否相等 如果要测试对象相等性,请使用equals()方法,该方法由UUID类定义
if ( originalUUID.equals( copiedUUID )) {
...
==运算符测试两个引用是否指向同一个对象,而不是两个对象是否相等 如果要测试对象相等性,请使用equals()方法,该方法由UUID类定义
if ( originalUUID.equals( copiedUUID )) {
...
只需将“==”更改为以下内容:
if(originalUUID.equals(copiedUUID)){
.
.
只需将“==”更改为以下内容:
if(originalUUID.equals(copiedUUID)){
.
.
同样的问题。然而,这些不是字符串。同样的问题。然而,这些不是字符串。