Tag: casting

java:boolean instanceOf Boolean?

我有点困惑:我有一个函数,它以Object作为参数。 但是,如果我只传递一个原语甚至将布尔基元识别为布尔对象,编译器就不会抱怨。 为什么? public String test(Object value) { if (! (value instanceof Boolean) ) return “invalid”; if (((Boolean) value).booleanValue() == true ) return “yes”; if (((Boolean) value).booleanValue() == false ) return “no”; return “dunno”; } String result = test(true); // will result in “yes”

在Java中将Chars转换为Ints

系统:Windows Vista 32位,Java 6.0.2 关于将字符转换为整数,我有几个问题。 我运行下面的代码,让myInt的值为4: char myChar = ‘4’; int myInt = myChar – ‘0’; 现在,这种转换是Java自动完成的吗? ascii值为’0’是否从ascii’4’中减去,然后在幕后投射到一个int? 这让我感到困惑,因为当我尝试反向操作时,我必须实际将结果转换为char: int anotherInt = 5; char newChar = anotherInt + ‘0’; //gives error char newChar = (char)(anotherInt + ‘0’); //works fine 这是否发生是因为Java会自动将(anotherInt +’0’)转换为int,如第一个示例中所示? 谢谢。