相关疑难解决方法(0)

你如何围绕Perl中的浮点数?

如何将十进制数(浮点)舍入到最接近的整数?

例如

1.2 = 1
1.7 = 2
Run Code Online (Sandbox Code Playgroud)

floating-point perl rounding

168
推荐指数
5
解决办法
33万
查看次数

为什么int num = Integer.getInteger("123")抛出NullPointerException?

以下代码抛出NullPointerException:

int num = Integer.getInteger("123");
Run Code Online (Sandbox Code Playgroud)

我的编译器是否getInteger在null上调用,因为它是静态的?这没有任何意义!

发生了什么?

java autoboxing integer api-design nullpointerexception

100
推荐指数
3
解决办法
6万
查看次数

为什么Math.ceil返回双精度?

当我打电话Math.ceil(5.2)给退货的时候double 6.0.我的自然倾向是认为Math.ceil(double a)会回归long.从文档:

ceil(double a)

返回double不小于参数且等于数学整数的最小(最接近负无穷大)值.

但是为什么当结果是整数时返回a double而不是a long?我认为理解它背后的原因可能会帮助我更好地理解Java.它也可以帮助我弄清楚我是否会因为施放到自己而陷入困境long,例如是

long b = (long)Math.ceil(a);

总是我认为它应该是什么?我担心可能会出现一些有问题的边界情况.

java double ceil long-integer

73
推荐指数
2
解决办法
2万
查看次数

Java Base API中最具误导性的方法是什么?

boolean当方法boolean Boolean.getBoolean(String name)弹出自动完成窗口时,我最近尝试将字符串文字转换为a .之后还boolean Boolean.parseBoolean(String s)出现了另一种方法(),这使我找到了解这两者之间的差异,因为他们似乎都做了同样的事情.

事实证明,Boolean.getBoolean(String name)真正做的是检查是否存在System给定名称的属性(!)以及它的值是否为true.我认为这是非常误导的,因为我绝对没想到一个方法Boolean实际上正在调用System.getProperty,只是通过查看方法签名,它肯定看起来(至少对我来说)它应该用来解析一个String作为boolean.当然,javadoc清楚地说明了这一点,但我仍然认为该方法有一个误导性的名称,并且它不在正确的位置.其他原始类型的包装器,Integer也有类似的方法.

此外,它似乎不是一个非常有用的方法属于基础API,因为我认为有类似的东西并不常见-Darg=true.对于Java职位面试来说,这可能是一个很好的问题:"输出是Boolean.getBoolean("true")什么?".我相信这些方法更合适的地方就是在System课堂上,例如getPropertyAsBoolean; 但同样,我仍然认为在基础API中使用这些方法是不必要的.将它们放在类似于Properties类的东西中是有意义的,这种类型的转换很常见.

你觉得这一切怎么样?此外,如果你知道另一个"尴尬"的方法,请发布它.

NB我知道我可以使用Boolean.valueOfBoolean.parseBoolean将字符串文字转换为a boolean,但我只是想讨论API设计.

java methods naming-conventions

36
推荐指数
12
解决办法
3165
查看次数