日期:2014-05-20  浏览次数:20752 次

String既然是不可变的,为啥不把length()方法改成length属性?
String既然是不可变的,为啥不把length()方法改成length属性

可以提供一个final的常量来表示啊。难道仅仅是因为java的封装特性?求高手详解……

------解决方案--------------------
它为什么不是public的?

正如3楼所说,length方法是CharSequence接口中的方法,所有实现了该接口的都可以用length,包括StringBuilder,StringBuffer等,而在接口中定义final变量后在实现类就无非更改了。。。。。