特定のプロパティに対して、他に類を見ないオブジェクトを作成したいと思います。
import java.util.HashMap;
public class SourceLanguage {
private final String name;
private static HashMap<String,SourceLanguage> existing;
private SourceLanguage(String name){
this.name = name;
}
public String getName(){
return name;
}
public static SourceLanguage get(String name){
if(existing==null){
existing = new HashMap<>();
SourceLanguage sl = new SourceLanguage(name);
existing.put(name.toLowerCase(),sl);
return sl;
}
SourceLanguage check = existing.get(name);
if(check==null){
SourceLanguage sl = new SourceLanguage(name);
existing.put(name.toLowerCase(),sl);
return sl;
}else {
return check;
}
}
}
このクラスのオブジェクトを別のマップのキーとして使用したいと思います。
ちょっとやり過ぎだと思います。目標を達成するためのより簡単な方法はありますか?