gpt4 book ai didi

java - 在 List、Set、Queue、Deque 中转换数组 int、boolean、double、long 和 String

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:57:47 24 4
gpt4 key购买 nike

这是我的代码。我只是为了举例实现 List。

public class Main {

public static Integer[] toObject(int[] array) {

Integer[] result = new Integer[array.length];
for (int i = 0; i < array.length; i++) {
result[i] = new Integer(array[i]);
}
return result;
}

public static Double[] toObject(double[] array) {

Double[] result = new Double[array.length];
for (int i = 0; i < array.length; i++) {
result[i] = new Double(array[i]);
}
return result;
}

public static Long[] toObject(long[] array) {

Long[] result = new Long[array.length];
for (int i = 0; i < array.length; i++) {
result[i] = new Long(array[i]);
}
return result;
}

public static Boolean[] toObject(boolean[] array) {

Boolean[] result = new Boolean[array.length];
for (int i = 0; i < array.length; i++) {
result[i] = new Boolean(array[i]);
}
return result;
}

public static <T> void fromArrayToCollection(T[] array, Collection<T> c) {
for (T o : array) {
c.add(o);
}
}

public static void main(String[] args) {

int [] i = new int[2];
i[0] = 1;
i[1] = 1;
Integer [] ii = toObject(i);
List<Integer> ic = new ArrayList<Integer>();
fromArrayToCollection(ii, ic);
ic.add(3);
ic.add(4);
System.out.println(ic);

long [] l = new long[2];
l[0] = 1L;
l[1] = 2L;
Long [] ll = toObject(l);
List<Long> lc = new ArrayList<Long>();
fromArrayToCollection(ll, lc);
lc.add(3L);
System.out.println(lc);

double [] d = new double[2];
d[0] = 1.0;
d[1] = 2.0;
Double [] dd = toObject(d);
List<Double> dc = new ArrayList<Double>();
fromArrayToCollection(dd, dc);
dc.add(3.0);
System.out.println(dc);

boolean [] b = new boolean[2];
b[0] = true;
b[1] = false;
Boolean [] bb = toObject(b);
List<Boolean> bc = new ArrayList<Boolean>();
fromArrayToCollection(bb, bc);
bc.add(true);
System.out.println(bc);

String [] s = new String[2];
s[0] = "One";
s[1] = "Two";
List<String> sc = new ArrayList<String>();
fromArrayToCollection(s, sc);
sc.add("Three");
System.out.println(sc);

}
}

Java 不能为原始数据类型提供泛型。为此,我编写了在 Object 中的原始类型之间进行转换的方法。我有四种从原始类型转换为对象的方法。它如何在单一方法中实现?我需要在单一方法中实现从原始对象转换为对象。谢谢

最佳答案

你不能。看Arrays类 - 它有许多几乎相同的方法版本,例如 copyOf()(要链接哪一个 :P)。这可以被视为 Java 中的设计缺陷,但它就存在并且在可预见的 future 不会改变。另请参阅 this问题。作为旁注,不要使用装箱类的构造函数 - 使用 valueOf() 方法,例如Double.valueOf() .

关于java - 在 List、Set、Queue、Deque 中转换数组 int、boolean、double、long 和 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32330606/

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