gpt4 book ai didi

java - 我们如何在 Java 中使用泛型类型和基元

转载 作者:行者123 更新时间:2023-12-02 00:42:35 26 4
gpt4 key购买 nike

我有一个包含数组的对象,但数组的类型每次都会不同。

我可以做类似的事情

class MyObject<T>
{
public T [] data;
}

问题是,这不适用于基本类型(int、double...),它使我可以使用对象(Integer、Double...)。

有什么办法可以避免这种情况吗?

提前致谢

最佳答案

您应该知道autoboxing in Java可能正是您正在寻找的。请参阅以下链接中的代码示例:

// List adapter for primitive int array
public static List<Integer> asList(final int[] a) {
return new AbstractList<Integer>() {
public Integer get(int i) { return a[i]; }
// Throws NullPointerException if val == null
public Integer set(int i, Integer val) {
Integer oldVal = a[i];
a[i] = val;
return oldVal;
}
public int size() { return a.length; }
};
}

get() 方法返回一个普通的旧数据类型 int,该数据类型会自动转换为 Integer。同样,set() 方法采用一个 Integer 并在数组中分配一个 int 元素。

自动装箱并不是一个显而易见的功能,但它确实可以处理自动对象创建。

关于java - 我们如何在 Java 中使用泛型类型和基元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5910584/

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