Java基础

String

2020-11-04  本文已影响0人  Timmy_zzh

String

字符串在java编程中广泛应用,字符串属于对象,用来创建和操作字符串

创建字符串

    String str = "123";
public final class String implements Serializable, Comparable<String>, CharSequence {
    
    private final char[] value;
    
    public String() {
        this.value = "".value;
    }

    public String(String var1) {
        this.value = var1.value;
        this.hash = var1.hash;
    }

    public String(char[] var1) {
        this.value = Arrays.copyOf(var1, var1.length);
    }
}
    String str = "123";
    String str3 = str + "456";
    System.out.println(str==str3);

字符串长度

    public int length() {
        return this.value.length;
    }

字符串相加

    String str = "123";
    String str3 = str + "456";
   L1
    LINENUMBER 7 L1
    NEW java/lang/String
    DUP
    LDC "123"
    INVOKESPECIAL java/lang/String.<init> (Ljava/lang/String;)V
    ASTORE 2
   L2
    LINENUMBER 8 L2
    NEW java/lang/StringBuilder
    DUP
    INVOKESPECIAL java/lang/StringBuilder.<init> ()V
    ALOAD 1
    INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
    LDC "456"
    INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
    INVOKEVIRTUAL java/lang/StringBuilder.toString ()Ljava/lang/String;
    ASTORE 3

字符串比较

    String s1 = "a";
    String s2 = "b";
    String s3 = "ab";
    String s4 = s1 + s2;
    String s5 = "a" + "b";
    String s6 = s1 + "b";
    StringBuffer s7 = new StringBuffer("abc");
    String s8 = s7.substring(3);
    System.out.println(s3 == s4);
    System.out.println(s3 == s5);
    System.out.println(s3 == s6);
    System.out.println(s4 == s6);
    System.out.println(s4 == s7.toString());
    System.out.println(s4 == s8);
        
打印结果:
false
true
false
false
false
false
    String s3 = "ab";
    String s5 = "a" + "b";
    String s4 = s1 + s2;
    String s6 = s1 + "b";
上一篇 下一篇

猜你喜欢

热点阅读