码迷,mamicode.com
首页 > 编程语言 > 详细

Java中的字符串类型(String)

时间:2016-08-04 23:01:32      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:

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类型返回值的,在运行时都会生成一个新的字符串返回,原有字符串是不会发生任何改变的;

Java中的字符串类型(String)

标签:

原文地址:http://www.cnblogs.com/coffeerun/p/5738417.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!