C# 和Java中,字符串为什么设计成具有不可变性呢?而不是每个字符用字符来直接表示呢?
2个回答
展开全部
String:是对象而不是基本数据类型.
为不可变对象,一旦被创建,就不能修改它的值.
对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.
String 是final类,即不能被继承.
当然,为了满足对于字符串的一系列操作(增长截取等)的需要,StringBuilder可以满足你的需要,StringBuilder sb=new StringBuilder()可以创建一个可变长字符串。
为不可变对象,一旦被创建,就不能修改它的值.
对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.
String 是final类,即不能被继承.
当然,为了满足对于字符串的一系列操作(增长截取等)的需要,StringBuilder可以满足你的需要,StringBuilder sb=new StringBuilder()可以创建一个可变长字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询