本文介绍了Java/Weka - 需要创建独特的实例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
限时送ChatGPT账号..我想知道是否有一种方法可以检查我的新实例是否已经在Java中创建并添加到我的实例中...喜欢;
I wonder if there is a method that checks whether my new instance has been already created and added to my instances in Java... Like ;
Instance instance = new Instance(i, vals);
if(instances.contains(instance) == false) { //or hasInstance maybe
instances.add(instance);
}
推荐答案
我明白,你想要两个对象 x1
和 x2
和 x1.equals(x2)
表示 x1 是同一个实例 (x1 == x2
).
I understand, that you want for two objects x1
and x2
with x1.equals(x2)
that x1 is the same instance (x1 == x2
).
一个人需要做这样的事情:
One needs to do something like this:
private Map<Instance, Instance> identityMap = new HashMap<>();
public Instance unique(Instance instance) {
Instance first = identityMap.get(instance);
if (first == null) {
first = instance;
identityMap.put(instance, instance);
}
return first;
}
Instance instance = new Instance(i, vals);
instance = unique(instance);
原因是,您要维护第一个实例,供所有人使用.
The reason is, that you want to maintain the first instance, to be used by all.
顺便说一句 - 用于其他目的:
Set<Instance> instances = ...;
代替
if (!instances.contains(instance)) { // if not instances contains
可以使用类似的代码
if (instances.add(instance)) {
// Added, hence new...
} else {
// Not added, hence already existing...
}
这篇关于Java/Weka - 需要创建独特的实例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论