问题标签 [autoboxing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
92468 浏览

java - 如何将 Double[] 转换为 double[]?

我正在实现一个接口,其功能类似于可以包含一种对象类型的表。该接口指定以下功能:

我感到困惑的是,在我的实现中,我将表数据存储在二维Object数组 ( Object[][] data) 中。当我需要返回值时,我想做以下事情(假设getDoubles()只会在包含双精度的列上调用,所以不会有ClassCastExceptions):

但是 - Java 不允许Object[]强制转换为double[]. 将其转换Double[]为可以,因为它Double是一个对象而不是原语,但我的接口指定数据将作为double[].

所以我有两个问题:

  1. 有什么方法可以从Object[][]表中获取列数据并返回基元数组?
  2. 如果我确实将接口更改为 return Double[],会对性能产生任何影响吗?
0 投票
3 回答
679 浏览

java - 构建工具来检测自动装箱?

有谁知道任何样式检查器或构建工具会标记来自构建服务器的自动装箱和拆箱?

我已经有 eclipse 选项来标记它,但不是项目中的每个人都使用相同的 IDE 或相同的设置。在构建方面找到它似乎是检测它可能潜入项目的唯一方法。

0 投票
4 回答
3942 浏览

java - 当我尝试打印出矢量元素时,我得到了这些奇怪的字符!

我正在使用 Netbeans。当我运行下面的程序时,我得到这个作为输出[I@de6ced!怎么会?

我也尝试过解决它,但后来我得到了一个

线程“主”java.lang.ClassCastException 中的异常:[我无法在 TopCoder.Test.main(Test.java:13) Java 结果中转换为 java.lang.Integer:1

0 投票
6 回答
31099 浏览

java - 说一个类型是“盒装的”是什么意思?

我听说在某些语言中类型被称为“盒装”。

在 Java 中,我听说过“自动装箱”。这是什么?它是否具有类型的包装类?如果我使用盒装或未盒装类型,我的代码将如何变化?

0 投票
10 回答
548239 浏览

java - 如何正确比较 Java 中的两个整数?

我知道,如果您将盒装原始整数与常量进行比较,例如:

a将自动取消装箱并且比较将起作用。

但是,当您比较两个装箱Integers并想要比较相等或小于/大于时会发生什么?

上面的代码会导致检查它们是否是同一个对象,还是会在这种情况下自动拆箱?

关于什么:

?

0 投票
2 回答
3609 浏览

c# - 自动装箱和拆箱在 Java 和 C# 中的行为是否不同

我正在手动将代码从 Java (1.6) 转换为 C#,并发现原语 (int 和 double) 的行为存在一些困难。在 C# 中,似乎几乎所有的转换都是自动发生的

但在 Java 中只有一些是允许的

我将不胜感激对差异和任何潜在理由的系统分析。

0 投票
2 回答
1888 浏览

java - Java:为什么这里没有自动装箱?

这给了我一个错误:

Eclipse:add(List<Integer>)类型Set<List<Integer>>中的方法不适用于参数(List<int[]>

我以为int应该自动装箱Integer

0 投票
2 回答
617 浏览

java - Java 自动装箱

我将我正在处理的项目切换到 maven,突然自动装箱似乎坏了。我的 IDE (NetBeans) 在下面的行中抱怨错误“不兼容的类型”

0 投票
4 回答
301 浏览

java - 当我想要它的 intValue 时,如何防止自己意外使用 NSNumber 的指针?

我真正喜欢的 Java 功能之一是自动装箱,其中编译器自动在原语及其包装类之间进行转换。

我正在用 Objective-C/Cocoa 编写一个核心数据应用程序,我发现以编程方式处理我的整数属性令人沮丧。原因如下:

如果我碰巧忘记了intValue我有时会忘记的消息,那么传递给的 intstringWithFormat:实际上就是指针值。

问题是这完全无声地发生——没有编译器错误或警告。有时,当这个愚蠢、愚蠢的事情成为问题时,我会花太多时间进行调试。

有没有办法改变我的编程风格或编译器设置以防止我陷入那个陷阱?

编辑:我不清楚上面的例子只是我遇到麻烦的许多地方之一。这是另一个与字符串无关的假设示例:

实体CollegeClass有两个整数属性:courseNumberenrollmentLimit。假设我想比较课程编号:

或者类似地,假设我想计算 CS 部门所有课程的平均入学人数限制。

0 投票
5 回答
1062 浏览

java - 内部编译器错误 ArrayIndexOutOfBoundsException: -1 ... generateUnboxingConversion

尝试编译时遇到了一些奇怪的异常:

这是一个有效的检查(拆箱-隐式强制转换-拆箱)吗?