gpt4 book ai didi

java - 在 Java 中转换可为 null 的整数值(Short、Long 等)

转载 作者:行者123 更新时间:2023-12-02 11:32:35 25 4
gpt4 key购买 nike

Java 中的非基本整数类型之间是否有任何标准方法可以正确保留 null 值?像这样的东西:

// Pseudocode
Short shortVal = null;
Long longVal = Numbers.toLong(shortVal); // longVal is expected to be null here

显然我不能在这里使用 shortVal.longValue() ,因为会抛出 NullPointerException

最佳答案

简单的“转换”和“三元条件运算符”将是最小且最快的解决方案。

Short shortVal = null;
Long longVal = shortVal == null ? null : (long) shortVal;

由于您似乎不了解转换,因此这里有一个不起作用的示例 - 以及如何修复它。请注意,这里完全忽略了 null 的问题 - 这只是您可能想知道的强制转换的一个奇怪的方面,仅此而已。

Double doubleVal = 1d;
Float floatVal = (float) doubleVal; // Inconvertible types!

工作版本:

Double doubleVal = 1d;
Float floatVal = (float) (double) doubleVal;

关于java - 在 Java 中转换可为 null 的整数值(Short、Long 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49193021/

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