嗨,我很难理解为什么这不起作用
if(Long.parseLong(morse) == 4545454545){
System.out.println("2");
}
Run Code Online (Sandbox Code Playgroud)
莫尔斯只是一串数字.问题是它说Integer数字太大了:4545454545,但我确定Long可以比这长得多.
NIN*_*OOP 17
您需要使用4545454545l或4545454545L将其限定为long.默认情况下,4545454545是一个int文字,4545454545超出范围int.
建议使用大写字母L,以避免混淆,因为l和1看起来很相似
你可以做 :
if(Long.valueOf(4545454545l).equals(Long.parseLong(morse)) ){
System.out.println("2");
}
Run Code Online (Sandbox Code Playgroud)
要么
if(Long.parseLong(morse) == 4545454545l){
System.out.println("2");
}
Run Code Online (Sandbox Code Playgroud)
根据JLS 3.10.1:
如果整数文字后缀为ASCII字母L或l(ell),则整数文字的长度为long ; 否则它的类型为int(§4.2.1).
| 归档时间: |
|
| 查看次数: |
13436 次 |
| 最近记录: |