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

java为什么要把字符串当对象,这样开销是不是很大?
感觉字符串可以像int一样做变量啊
那些startsWith substring用静态的,如Integer.parseInt不好吗
------解决方案--------------------
系统性能开销是很大,所以对于频繁操作字符串的话,一般不太会用String 来操作字符串,所以java提供了其他2个类,StringBuilder和StringBuffer2个类。之所以要用String做对象可以看看底层的代码。而且在数据传递过程中都是用String来作为传递对象的,如果作为变量在安全上面就有问题。
------解决方案--------------------
其他基本类型放在栈里就可以了,String你要是弄个1000个字符的一句话,他怎么存啊!所以就用对象了呗,不过String也是有缓冲区的,这个你应该知道的吧。
这也是为什么
String a = "a";
String b = "a";
System.out.println(a==b);
结果是true的原因,话说很多语言都在说java的String设计的不好,不过这种话还轮不到我们来说。话说语言只是你的工具而已,了解它的语法就好了,知道怎么用就可以,没必要纠结它为什么是这样的。
------解决方案--------------------
不当对象当数组?
------解决方案--------------------
不明白的是为什么对象开销就很大?
------解决方案--------------------
个人理解 对象的操作更灵活些 这一点就足够了
看看 String 类型的 扩展方法就知道了。