簡體   English   中英

轉換為字符串后無法識別Java UUID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM