作者hougzou (学无止境,啥时才摔到底?)
看板java
标题Re: [问题] boxing/unboxing
时间Thu Jan 25 22:02:03 2007
※ 引述《seekyou (galagala~N )》之铭言:
: public class Yikes {
: 1.public static void go(Long n){System.out.println("Long ");}
: 2.public static void go(Short n){System.out.println("Short ");}
: 3.public static void go(int n){System.out.println("int ");}
: 4. public static void main(String[] args) {
: 5. short y=6;
: 6. long z=7;
: 7. go(y);
: 8. go(z);
: 9. }
: 10.}
: 这是SCJP模拟试题,output是 int Long
: 为什麽line 8 有找到对应的方法而印出 Long,而line7就没有呢?
: 谢谢指导
整数型别隐式转型为int,而long由於长度大於int,
会造成精确度问题(这是javac告诉大家的...),所以会去找第一行。
可以想见,若你把第一行删掉,则会造成编译失败。
--
No Dying Skills, ● - Dame! New tech...
but Lazy Users. .\)
http://www.wretch.cc/blog/hougzou ___________ ﹒ ︵ √\ ___________________
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.74.122.31