让我们考虑Java中的以下简单表达式.
char c='A';
int i=c+1;
System.out.println("i = "+i);
Run Code Online (Sandbox Code Playgroud)
这在Java中完全有效,并返回66,即c + 1的字符(Unicode)的相应值.
String temp="";
temp+=c;
System.out.println("temp = "+temp);
Run Code Online (Sandbox Code Playgroud)
这在Java中太有效了,String类型变量temp自动接受char类型的c并在控制台上生成temp = A.
所有以下陈述在Java中也令人惊讶地有效!
Integer intType=new Integer(c);
System.out.println("temp = "+intType);
Double doubleType=new Double(c);
System.out.println("temp = "+doubleType);
Float floatType=new Float(c);
System.out.println("temp = "+floatType);
BigDecimal decimalType=new BigDecimal(c);
System.out.println("temp = "+decimalType);
Run Code Online (Sandbox Code Playgroud)
虽然c是一种char,但它可以在各自的构造函数中没有错误地提供,并且所有上述语句都被视为有效语句.它们分别产生以下输出.
temp = 65
temp = 65.0
temp = 65.0
temp = 65
Run Code Online (Sandbox Code Playgroud)
在这种情况下,Java中可用的char类型的内部行为是什么?
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |