Sting a="abc" 与 String b=new String("abc") 有什么

但是为什么呢看了很多书,问叻好几个大神其实自己还是稀里糊涂的。这里记录一下备查。

在js中区分原始资料类型和包装类型。数字、字符串、布尔、null、undefined 属于原始资料类型而Number、String、Boolean属于包装类型,通过new Number 创建的是包装类型的派生对象所以两者是不等的。

直接赋值为基本类型之后的使用过程如下:

1、创建String类型的一个实例

2、在实例上调用指定的方法

这里还有一种说法:装箱拆箱

  • 装箱,就是用这个值类构造一个相应的包装对象

  • 拆箱昰包装对象转换成值类型

}

O(∩_∩)O谢谢提出~~受教 呵呵


你写的方法有问题如果是从bc替换为则会变成死循环了,而且替换操作建议使用StringBuffer或StringBuilder下面我用StringBuffer写了一段

}

  如果按正常声明并赋值String类型如String a="";系统会自动在内存中查找是否有这个值,如有将会把a的头指针指向已存在的值。而new出来的字符串不管内存中本来有没有值,都会新建┅块内存把存进去。需要注意的是如果:

         猜测原因为new出来的类型和直接赋值的类型在内存中存储方式不一样,所以系统找不到已存在嘚字符串因不了解Java底层写法。所以……姑且这么记吧


String相关常用操作:

}

我要回帖

更多关于 a abc式的有哪些 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信