string="" 与 new String()的区别
来源:互联网 发布:stm32能跑linux吗 编辑:程序博客网 时间:2024/06/18 06:17
String a = "a";
String b = "a";
String c = "c";
区别:
1、’直接定义的String "a"'c'是储存在 常量存储区中的字符串常量池中;new String(“a”)是存储在堆中;
2、常量池中相同的字符串只会有一个,但是new String(),每new一个对象就会在堆中新建一个对象,不管这个值是否相同;
String a = “a” String b = “a” a b都指向字符串常量池中的“a”,所以a==b 为true;
String a = new String(“a”) String b = new String(“a”);是会在堆中创建两个对象new String()“a”是常量池中的”a”,这两个对象的值都为 a,所以a==b返回false;a.equals(b)返回true;
3、
String a = “a”在编译阶段就会在内存中创建;
String a = new String(“a”);是在运行时才会在堆中创建对象
参考:
http://www.cnblogs.com/luckyliu/archive/2012/04/05/2433657.html
http://blog.sina.com.cn/s/blog_5edcfe6a0100d7u2.html
阅读全文
0 0
- string="" 与 new String()的区别
- new String[] 与new String[] {""}的区别
- String string = ""; 与String string = new String();的区别
- String与new String的区别
- String与new String的区别
- String与new String的区别
- String与new String的区别
- String与new String的区别
- String与new String()的区别
- new String("abc")与String a="abc"的区别
- String="" 与new String()的区别
- Collection<String>n=new ArrayList<String>()与List<String>n=new ArrayList()的区别
- String = "" 和 new String("")的区别
- String str 与 String str=new String("") 区别
- String str1 = new String("abc")与 String str1 = "abc" 的区别
- String s=new String("hello")与String s="hello"的区别?
- 关于JAVA中String="abc"和String=new String("abc")的区别与联系
- 【java】 String str = "test"; 与 String str = new String("test"); 的区别
- 多线程基础
- Linux 面试题
- StringBuilder 如何编译存储一个含有“:”和“;”的字符串
- 利用case语句给输出的字符串加颜色
- 复选框的全选和反选
- string="" 与 new String()的区别
- Chrome开发者工具不完全指南(二、进阶篇)
- LintCode 解体记录 17.9.26
- http中get post简析
- 数组的原型方法:实现[1,2,3,4,5].duplicator()
- 多线程条件变量的用法
- 仿百度
- Unity3D 学习案例二
- 【设置时间】JS设置时间