以下表达式在Java中返回什么?
Math.max(Float.POSITIVE_INFINITY, Double.POSITIVE_INFINITY);
Run Code Online (Sandbox Code Playgroud)
我在网站上看到了这个问题,答案是Double.POSITIVE_INFINITY.我不确定这个答案,我们如何比较2个无穷大?有人可以澄清一下吗?谢谢.
sv_*_*_in 26
Float.POSITIVE_INFINITY返回float,Double.POSITIVE_INFINITY返回double.
没有名为Math.max的方法(float,double).只有Math.max(float,float)和Math.max(double,double)
因此,当该方法被称为Math.max(float,double)时,它将float参数转换为double,因此调用Math.max(double,double),以便返回Double.POSITIVE_INFINITY.
Java不会从double转换为float,因为它可能导致精度问题.
| 归档时间: |
|
| 查看次数: |
4997 次 |
| 最近记录: |