Java 字符串

Java 字符串

  • 字符串一旦创建不能被修改, 只会赋值个新的字符串.

创建

  • 字符串要发生变化时, 可以使用数组构造的方式.
  • byte 网络中传输的数据都是字节型的,
    byte[] bytes = {97,98,99};
    String s = new String(bytes, Charset.forName("UTF-8"));
    String s = new String(bytes, StandardCharsets.UTF_8);
    

内存串池

直接赋值

  • 串池在堆

new

字符串比较

==

== 示例

比较值

s1.equals(s2)

StringBuilder

  • 提高字符串的操作效率, 传统 String 拼接中会产生很多无用的字符串
append() 添加任意内容
reverse()
length()
toString()

StringJoiner

方法
add()
length()
toString()

原理

  • jdk8之前

  • jdk8之后

示例

  • 没有变量参与就会直接拼接

源码分析