在Java中使用dot,cast,new的优先级

时间:2016-10-18 12:00:05

标签: java oop

ID  Department_ID   mod_date
----------------------------------
A   55              2016-05-20
B   55              2016-02-12

但是,我无法解释为什么以下有效:

Object o = new String("Hello");
// following won't compile
// myChar = (String)o.charAt(0);

似乎char myChar = new String("Hello").charAt(0); 的优先级高于new

我错过了什么?

1 个答案:

答案 0 :(得分:1)

Object o = new String("Hello");
// following won't compile
// myChar = (String)o.charAt(0);

上面不会因为Object(o)没有方法charAt(0)但是上面的代码有一个错误, char不能转换为String ,甚至Object有一个像{的方法{1}}像这样:

chatAt(0)

所以像这样使用,首先将Object转换为字符串并调用(String)o.charAt(0);

charAt()