A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhangtaocg 中级黑马   /  2016-3-29 21:42  /  590 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么String a = "abc";算创建对象,而StringButter  a = new  StringButter("abc");才创建对象,为什么String没有new

4 个回复

倒序浏览
String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。   字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。例如:         String str = "abc";  等效于:         char data[] = {'a', 'b', 'c'};      String str = new String(data);
回复 使用道具 举报
String是基本数据类型  其值不可以被改变

点评

创建对象的时候为什么可以不加new  发表于 2016-3-30 21:17
回复 使用道具 举报
604840337 发表于 2016-3-29 23:44
String是基本数据类型  其值不可以被改变

String类不是基本数据类型,是特殊的引用数据类型,基本数据类型四类8种不包含String类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马