[英]Java UUID not being recognised after conversion to string
在編程過程中,我注意到以下行為。 我希望此代碼段顯示“它們相等”,而不是“它們不相等”,請問有人可以解釋這種行為嗎? 謝謝。
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");
}
}
==運算符測試兩個引用是否指向同一對象,而不是兩個對象是否相等。
如果要測試對象是否相等,請使用由UUID類定義的equals()方法。
if ( originalUUID.equals( copiedUUID )) {
...
只需將您的“ ==”更改為以下內容:
if(originalUUID.equals(copiedUUID)){
.
.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.