gpt4 book ai didi

java - 比较 Java 中不同类型的 vector

转载 作者:行者123 更新时间:2023-12-02 05:19:09 25 4
gpt4 key购买 nike

我有两个像这样初始化的 Java vector :

Integer intArr[] = {100, 200, 300};
Double doubleArr[] = {100.0, 200.0, 300.0};

Vector<Integer> vInt = new Vector<Integer>(Arrays.asList(intArr));
Vector<Double> vDouble = new Vector<Double>(Arrays.asList(doubleArr));

我做的比较是这样的

boolean equal = vInt.equals(vDouble);  //equal = false

考虑到尽管类型不同,但 vector 具有相同的值,如何比较两个 vector 并得到 true 结果?

TIA,

最佳答案

自己比较一下。请注意,这可能会出现转换错误,例如在大约 253 之后,double 无法再表示奇数。因此,我不建议将 longdouble 进行比较。

public static boolean numericEquals(
Collection<? extends Number> c1,
Collection<? extends Number> c2
) {
if(c1.size() != c2.size())
return false;
if(c1.isEmpty())
return true;

Iterator<? extends Number> it1 = c1.iterator();
Iterator<? extends Number> it2 = c2.iterator();

while(it1.hasNext()) {
if(it1.next().doubleValue() != it2.next().doubleValue())
return false;
}

return true;
}

关于java - 比较 Java 中不同类型的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26644502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com