- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想为某些属性创建一个独一无二的对象:
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;
}
}
}
我想使用此类的对象作为另一个映射中的键。
我觉得这有点过分了。有没有更简单的方法来实现目标?
最佳答案
您可以考虑使用Registry pattern 。这样,SourceLanguage
对象的行为就可以与强制执行其唯一性的行为分开。如果彼此独立,它们也可能变得更加复杂。注册表可以处理注释中描述的内存泄漏,而不会扰乱您的 SourceLanguage
类。
将SourceLanguage
和Registry类放在同一个包中,但使SourceLanguage
类package-visibile(或给它一个protected
构造函数),然后外部组件将无法直接实例化 SourceLanguage
,而必须通过注册表。
关于java - 独一无二的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13407110/
使用此代码: main :: FilePath -> FilePath -> IO () main wrPath rdPath = do x FilePath -> IO() 但是当我将“main”
我有一个 QList由 QVector3D 组成.一个 QVector3D表示一个顶点或一个点。此列表还包含 STL-File 的所有顶点.问题是一个顶点在列表中多次存在。需要一个 STL 文件的唯一
如果我丢失了 android (APK) keystore 文件,我可以创建一个新的吗?我知道所有数据,例如名字、姓氏、组织、密码、有效期等。我可以使用这些数据创建相同的 keystore ,还是应该
我放置的函数很少,但无法按我的意愿运行。 slug 是根据帖子标题自动动态创建的。 Example: If a post title is "test" then the slug will be "
我想在 cassandra 中进行唯一约束。因为我希望我专栏中的所有值在我的专栏系列中都是唯一的前任:姓名拉胡尔电话123地址-abc 现在我希望这一行没有等于 rahul ,123 和 abc 的值
我在 C++ 代码中使用 #define 语句时遇到一些问题,但是我不熟悉如何在 VC++ 中处理它: >filetaint.cpp 1>.\filetaint.cpp(272) : error C2
我正在使用 PayPal IPN,我有以下问题:是否可能有两个具有相同 txn_id 和 payment_status 参数的 IPN 消息? 例如: IPN:txn_id=4BB79227HY951
就像 php 的 array_unique 函数一样: $input = array("a" => "green", "red", "b" => "green", "blue", "red"); $r
我是一名优秀的程序员,十分优秀!