美文网首页
String的那些事

String的那些事

作者: ZMRWEGo | 来源:发表于2019-04-24 09:19 被阅读0次
  1. String常量池与堆
String a = "123";
String b = "123";
String c = new String("456");
String b = new String("456");
System.out.println(a==b);//返回true
System.out.println(c==d);//返回false

String a=("123")直接使用的是常量池中的引用,所以a和b所引用的都是常量池中的同一个地址。而new String("456")的时候是首先在堆中新建一个对象,然后指向该引用,同时如果常量池中没有该值,也会向常量池中放入456.

  1. String与StringBuilder、StringBuffer
  • StringBuilder、StringBuffer都是用来进行字符串拼接的,但是StringBuffer
    是线程安全的,内部利用sychronized来锁住方法,StringBuilder则没有考虑线程安全性,一般情况下速度是比StringBuilder快的。
  • String利用+也可以进行字符串拼接,但是其和StringBuilder相比性能差了许多,例如String temp = "a"+"b",首先会向常量池中添加字符串"a"、"b"但是这些只是临时字符串其实是没有用的,会占用内存,第二就是+本质上还是利用StringBuiler来实现的拼接(这一步是靠编译器进行优化的),我们利用反编译可以发现,每次+的时候都会new StringBuiler在执行append方法,肯定会比直接使用StringBuiler慢很多。

相关文章

  • String的那些事

    String常量池与堆 String a=("123")直接使用的是常量池中的引用,所以a和b所引用的都是常量池中...

  • String 的那些事

    来自:Hollis(微信号:hollischuang) String,是Java中除了基本数据类型以外,最为重要的...

  • 了解String的那些事

    String 是Java编程中的引用类型,不属于基本类型,默认值为null,在Java中是用来创建于操作字符串。源...

  • String和JVM的那些事

    1.String有两种常见方法String abc = "xxxx";String abc = new Strin...

  • Java-String那些事

    文末有彩蛋!!!!!! Java-String那些事 String对于广大程序员来说,并不陌生,是我们在编写程序中...

  • python unicode 和string那些事

    开发过程中总是会碰到string, unicode, ASCII, 中文字符等编码的问题, 每次碰到都要现搜, 很...

  • 编程基础内容

    变量命名规则 常用变量(数字,char,string) 常量那些事(后缀,下划线,e) 声明、赋值简写 强制类型转...

  • String的那些事儿

    1、String的两种创建方式 在java中String的创建有两种方式,第一种是双引号直接创建,第二种是用构造函...

  • 关于String需要知道的二三事

    关于String需要知道的二三事 标签: Java基础 原文链接:关于String需要知道的二三事 转载请注明...

  • Java String那点事

    String是我们平时接触最多的一种数据类型之一,不同语言有自己内部的实现,今日一起看下Java中String的内...

网友评论

      本文标题:String的那些事

      本文链接:https://www.haomeiwen.com/subject/pzqwgqtx.html