问题标签 [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.
java - 分配数字时出现 NullPointerException
当我执行以下代码时发生了一件奇怪的事情:
有时我在分配行的日志中看到 NullPointerException,但我不明白为什么会发生这种情况。任何想法?
java - 在 Java 中应该避免自动装箱吗?
在某些情况下,方法需要原始类型double
,而您将Double
对象作为参数传递。
由于编译器将传递的对象拆箱,这会增加内存使用量还是降低性能?
java - 在 Java 7 中使用方法重载时,为什么自动装箱不推翻可变参数?
我们的 Java 项目中有一个 LogManager 类,如下所示:
在 Debian 下使用OpenJDK 6编译项目时,一切正常。使用OpenJDK 7时,构建(使用 ant 完成)会产生以下错误并且构建失败:
只要1没有被自动装箱,方法调用就应该是明确的,因为1是一个 int 并且不能向上转换为 Object。那么为什么自动装箱不在这里推翻可变参数呢?
无论是否安装了 OpenJDK 6,Eclipse(使用来自 eclipse.org 的 tar.gz 安装)都会编译它。
非常感谢你的帮助!
编辑:
编译器source="1.6"
在target="1.6"
这两种情况下都可以选择。Eclipse 编译说明仅作为注释。
scala - 如何匹配“布尔”类型和“布尔”类型的类?
考虑以下代码:
我想在标记的行retType
中匹配。如何自动将装箱和未装箱类型的类等同起来?boolType
(*)
[编辑:]我不认为这是最好的解决方案,但一种方法是进行比较
retType.getCanonicalName == "boolean"
[Edit2:] 上下文:我正在编写一些代码来自动调用基于表单名称的方法。代码应该从方法中提取返回类型等并返回适当的答案。例如,使用以下代码段:
scala - 如何在纯 Scala 中表示盒装 Double?
在 Scala 中,双精度数有 2 种表示形式,一种是AnyVal
,另一种是AnyRef
。在 JVM 上,它们分别映射到原语double
和类java.lang.Double
。
现在在 JVM 以外的平台上会发生什么?我可以使用Scala.Double
原语,但我如何指定我想要引用装箱的 Double 而不指定java.lang.Double
?
[上下文 - 留下来理解 Thomasz 的回答,但不是根本问题。
我有一个 Double 我想用 Spring 注入到 Wicket 组件中:
如果我scala.Double
如上所述指定类型,则注入器将失败,因为它只能注入对象。
如果我指定java.lang.Double
为字段的类型,一切都很好
但是我试图减少对回退到 Java API 的依赖,那么如果没有它,我该如何表示盒装Double
呢?]
java - int vs int[] 区别 - 泛型内部的自动装箱?
看这段代码:
AFAIK,java泛型不支持原始类型,那么int[]
编译如何?在这里如何进行自动装箱?
ios - iOS5 Core Data 和 NSNumber 是否有自动装箱/拆箱?
来自 Java,我非常习惯于autoboxing,其中 int 会在需要时自动包装为 Integer ,并且 Integer 可能会被拆箱为原语。在 iOS5 中我可以依赖类似的东西吗?
目前,我正在使用核心数据,并且需要大量输入才能继续输入
有什么方法可以直接在方程式等中使用 NSNumber 吗?例如:
此外,每次我需要在核心数据中重新分配一个数字时,我都会像这样创建一个新对象。
有没有更好的方法来改变已经创建的 NSNumber 的值?10 年后,我可以使用哪些漂亮的捷径将自己从腕管中拯救出来?
谢谢!
java - == 如何比较内存位置?
我被告知永远不要使用==
字符串,而是用于其他所有内容,因为.equals
会比较值而不是对象的实例。(我理解的区别)。
根据某些网站,==
比较内存位置?
我不明白的是,如果您将一个整数与另一个进行比较,为什么要比较内存位置,或者这只是用于字符串?
如果您将 int 3 与 int 4 进行比较,显然它不会位于同一内存位置,但是如果您将 int 4 与 int 4 进行比较,这是否意味着所有值为 4 的整数都存储在同一个内存位置内存位置?
java - 使用三元运算符将 null 作为 int 返回,但 if 语句不允许
让我们看一下以下代码段中的简单 Java 代码:
在这个最简单的 Java 代码中,temp()
即使函数的返回类型是int
,并且我们试图返回值null
(通过语句return true ? null : 0;
),该方法也不会发出编译器错误。编译时,这显然会导致运行时异常NullPointerException
。
但是,如果我们用一个if
语句(如在same()
方法中)来表示三元运算符,这似乎也是错误的,这确实会引发编译时错误!为什么?