Java结构,相当于Javascript中的对象/接口



我需要从一个方法返回两种类型的值
一个是Integer,另一个是List<someClass>

尝试使用

Map<String, Object> test = new HashMap<>();
// save the data
test.put("myList", list);
test.put("counter", 12); 
// And read later like
Integer counter = test.get("counter");
List<someClass> myList = test.get("myList");

但是投射总是在Eclipse/声纳中发出警告/错误。

因此,我尝试只实现一个接口,以获得一个具有所需属性类型的对象。

private interface theList {
List<someCLass> myList;
Integer counter;
}

但我不认为这是interfaces在java中的使用。我不想在任何类中实现方法或扩展此接口。

我需要的是有一种类型的元素,我可以在其中存储我需要的任何类型的信息,并在以后读取它,就像我们在javascript中处理对象一样
我只是不想为此创建另一个类或文件。

我可以使用什么结构?

使用Tuples从方法返回多个值。元组只是一系列对象,它们不一定以任何方式相互关联。


简单实现示例:

public class Tuple<K, V> {
private final K first;
private final V second;
public Tuple(K first, V second){
this.first = first;
this.second = second;
}
public K getFirst() {
return first;
}
public V getSecond() {
return second;
}
}
public Tuple<Integer, List<SomeClass>> method() {
return new Tuple<>(1, new ArrayList<SomeClass>());
}

元组的良好实现是Apache Commons Lang中的Pair或ImmutablePair。可能是有用的SpringTuples实现和文档。

相关内容

  • 没有找到相关文章

最新更新