亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

Symbol在Java中如何作為唯一標識符使用

小樊
81
2024-08-16 21:19:41
欄目: 編程語言

在Java中,可以使用Symbol類作為唯一標識符來表示一些不可變的、唯一的對象。Symbol類是一個內部類,它表示一種不可變的、唯一的字符串值,可以使用該類創建Symbol對象,并將其作為唯一標識符使用。

以下是使用Symbol作為唯一標識符的示例代碼:

import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;

public class SymbolExample {
    
    private static final Map<Symbol, String> symbolMap = new ConcurrentHashMap<>();

    public static void main(String[] args) {
        Symbol symbol1 = Symbol.valueOf("symbol1");
        Symbol symbol2 = Symbol.valueOf("symbol2");
        
        symbolMap.put(symbol1, "Value for symbol1");
        symbolMap.put(symbol2, "Value for symbol2");
        
        System.out.println(symbolMap.get(symbol1));
        System.out.println(symbolMap.get(symbol2));
        
        Symbol symbol3 = Symbol.valueOf("symbol1");
        System.out.println(symbolMap.get(symbol3)); // Output: Value for symbol1
        
        System.out.println(symbol1 == symbol3); // Output: true
    }
}

final class Symbol {

    private static final Map<String, Symbol> symbols = new HashMap<>();

    private final String value;

    private Symbol(String value) {
        this.value = value;
    }

    public static Symbol valueOf(String value) {
        return symbols.computeIfAbsent(value, Symbol::new);
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Symbol symbol = (Symbol) o;
        return Objects.equals(value, symbol.value);
    }

    @Override
    public int hashCode() {
        return Objects.hash(value);
    }
}

在上面的示例代碼中,我們定義了一個Symbol類,它包含一個私有構造函數和一個靜態工廠方法valueOf()來創建Symbol對象。我們使用一個靜態Map symbols來存儲已經創建的Symbol對象,保證每個Symbol對象是唯一的。在main方法中,我們用Symbol對象作為key來存儲和獲取值,驗證了Symbol對象的唯一性。

0
清流县| 杭锦旗| 清涧县| 城口县| 宜丰县| 罗田县| 普兰县| 白朗县| 邢台市| 鞍山市| 天长市| 霍林郭勒市| 泰兴市| 东港市| 库伦旗| 江口县| 东光县| 都匀市| 永吉县| 清丰县| 旬邑县| 巴彦淖尔市| 绥化市| 河间市| 河北区| 德清县| 呼和浩特市| 奈曼旗| 葫芦岛市| 顺昌县| 习水县| 城市| 泰州市| 太谷县| 额尔古纳市| 棋牌| 米易县| 建昌县| 民和| 大城县| 涞水县|