Java中的字符串类型(String)
String
字符串是⼀个引⽤数据类型,字符串都是对象。
String特性:1、在程序中出现的字符串字⾯量(常量),在程序中运⾏时会以对象的形式保存在JVM内存的字符串池中,并且所有的这些字符串字⾯量对象都是共享的;
2、(不变特性)字符串⼀旦定义就永远不会被改变了;
不变模式 - 23种设计模式之⼀;
StringBuffer
字符串是什么类型的 StringBuffer - 可变的字符序列,它在⽇常⼯作中就是做字符串连接的,线程安全的;
- appand()⽅法; StringBuilder 与 StringBuffer ⽅法相同
StringBuilder - jdk1.5以后提供的新的类,但线程不安全,效率更⾼;
总结
思考:String str = new String("Hello"); //执⾏完后,会⽣成⼏个String类型对象?
答案:两个对象,⼀个是字⾯量⽣成的,在字符串池中,⼀个是new出来的,在堆⾥。这样是很低效率的,所以建议⼤家不要使⽤这种⽅式来⽣成字符串对象;
⽇常⼯作当中,我们⼏乎不⽤ == 来⽐较字符串,通常情况下,我们只关注字符串内容是否相等,⽽不关注是否是同⼀对象,所有我们更多的使⽤String类重写的 Object类中的equals⽅法来⽐较字符串;
凡是⽅法中带有String类型返回值的,在运⾏时都会⽣成⼀个新的字符串返回,原有字符串是不会发⽣任何改变的;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论