Java 之String

String类

 - 表示不可变的字符串    
 - String的创建
     - 方法1:String str=new String("值");
     - 方法2:String str="值";

String str=new String("abc");该代码创建几个对象?
   - 1.使用new关键字在堆中创建的String对象
   - 2.有字符串的字面量"abc",作为直接量创建在常量池当中.

1.String字符串
- 不可变长的字符串

String s1=”123abc”;//创建了一个对象,常量池中的字符串123abc
String s2=new String(“abc”);
-创建了两个对象,在堆内存中new一个对象;常量池中字符串对象abc

String s3=s1+”“;//创建一个StringBuilder对象
-字符串的凭借,底层通过new StringBuilder对象通过该对象的append方法实现拼接

String s4=”123”+”abc” ;//由于都是字符串的直接量直接在编译时处理成常量

 String s1="123abc";//s1指向常量池中的123abc
   String s2=s1+"";//s2指向堆当中的StringBuilder对象
   s1==s2;//false
   String s3="123"+"abc";
   s3==s1;//true
   String s4=1+"2"+"3"+"abc";
   s1==s4;//true
   String s5=1+2+"3"+"abc";//33abc
   s1==s5;//false;
   String s6=new String("123abc");
   s1==s6;//false

   final String h="123";
         String w=h+"abc";
    s1==w;//true

2.String的API
|- byte[] String#getBytes();根据系统的默认编码将字符串转成byte序列
|- byte[] String#getBytes(String charsetName);根据指定的字符编码将字符串转成指定的byte
- 对于中文而言,常见的字符集:
- gbk:windows系统默认的中文字符编码,一个中文两个字节
- utf-8:Mac,Linux系统的默认中文字符编码,一个中文三个字节

  • new String(byte[]);根据系统的默认编码将byte序列转成字符串
  • new String(byte[],charsetName);根据指定的编码将byte序列转成字符串

3.StringBuffer和StringBuilder
|-StringBuffer是线程安全的可变字符串,由jdk1.0k提供(不推荐使用,可能影响效率)
|-StringBuilder是线程不安全的可变字符串,由jdk5.0提供,用于替换StringBuffer

注意:如果有大量字符串的拼接推荐使用StringBuilder#append方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值