在2.toString()这条代码里,这个.有两个解释:1、小数点;2、方法调用,所以这里产生了一个歧义。
在这里因为这个点紧跟于一个数字之后,所以按照规范,解释器就把它判断为一个小数点,这行代码就变成了一个浮点数,但是问题就产生了,toString()不是一个数字,所以编译之后就报错了。
疑问:我是想实现这个.是方法调用怎么办?
这里可以使用这几种方式:
2..toString() //这里第一个点是表示小数点,相当于(2.0).toString()
2 .toString() //这里用一个空格来告诉解释器,这个.是方法调用
(2).toString() //()的优先级高,优先解释(个人的一种理解)