java - 在java中将整数数组转换为对象数组

标签 java arrays casting

我使用的是 JDK 1.6,但以下代码片段中的第二行在 Eclipse 中出现编译错误:

long[] css = new long[]{1, 2, 3};
Object[] objs = Arrays.copyOf(ccs, ccs.length, Object[].class );

错误是:数组类型中的方法 copyOf(long[], int) 不适用于参数 (long[], int, Class)

需要转换

org.hibernate.criterion.Restrictions.in("PropertyName", objs );

有什么想法或推荐的方法吗?

TIA。

最佳答案

你不能在 java 中这样做。 long 是原始类型,因此不会扩展 ObjectLonglong 的包装类,可以转换为 Object。要从 long[] 创建一个 Long[],您需要遍历 long[] 的每个值并将其复制到 长[]:

long[] primitiveLong;
Long[] wrappedLong = new Long[primitiveLong.length];
for (int i=0; i<primitiveLong.length; i++) {
    wrappedLong[i] = primitiveLong[i];
}

然后你可以把它转换成一个Object的数组:

Object[] objs = wrappedLong;

或者您甚至可以直接创建 Object 类型的 wrappedLong,这样您就不需要转换了。

关于java - 在java中将整数数组转换为对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13868753/

相关文章:

java - 使用 jersey 客户端编写 POST 请求

java - 如何在 java 中将 java.lang.string 转换为 java.util.date

c - 在 C 中试验数组指针

java - 列出属性并转换为 String[]

c# - 异常 : Specified cast is not valid

Java:当 B 实现 A 时从 List<B> 转换为 List<A>?

java - 查找开放端口 TCP 通信

java - 使用 javac 在 Heroku 上运行 java 程序

python - yaml.dump 在 Python 中的对象的 numpy.array 类型属性上抛出错误

c - 用户扫描号码的模 10^9 + 7