JAVA --- StringとStringBuilderの詳細な説明

1.弦の工法

  •  public String():创建一个空白字符串对象。不含有任何内容
    
  •  public String(char[] chs):根据字符数组的内容,来创建字符串对象
    
  •  public String(byte[] bys):根据字节数组的内容,来创建字符串对象
    
  •  String s="abc":直接赋值的方式创建字符串对象,内容是abc
    

最も一般的に使用されるのは、最後の直接割り当てです。

注意
最初の工法では、内容は同じですが、住所が異なります。

		char[] chs= {
    
    'a','b','c'};
		String s1=new String(chs);
		String s2=new String(chs);
		//比较地址是否相同
		System.out.println(s1==s2);//返回false
		//比较字符串内容是否相同
		System.out.println(s1.equals(s2));//返回true

直接割り当て方法の場合:内容とアドレスは同じです

		String s3="abc";
		String s4="abc";
		//比较地址是否相同
		System.out.println(s3==s4);//返回true
		//比较字符串内容是否相同
		System.out.println(s3.equals(s4));返回true

次の図は、Stringが作成されたときのメモリ割り当てを詳細に説明しています。
ここに画像の説明を挿入


2.文字列の接続に文字列を使用する

Stringの作成後、その値を変更することは許可されていないため、Stringオブジェクトがスプライスされるたびに、新しいStringオブジェクトが再作成されます。この操作は時間がかかり、メモリスペースを浪費します。

ここに画像の説明を挿入したがって、JAVAが提供するStringBuilderクラスを使用して、この問題を解決できます。


Three.StringBuilder構築メソッド

  •  public StringBuilder()
    
  • コンテンツのない空白の可変文字列オブジェクトを作成します
  •  public StringBuilder(String str)
    
  • 文字列の内容に応じて、可変文字列オブジェクトを作成します

Four。StringBuilderのメソッドの追加と反転

public StringBuilder append(任意类型)
//添加数据,并返回本身
public StringBuilder reverse()
//返回相反的字符序列
public class stringbuilderDemo {
    
    
	public static void main(String[] args) {
    
    
		//public StringBuilder():创建一个空白可变的字符串对象,不含有任何内容
		StringBuilder s1=new StringBuilder();
		System.out.println("s1:"+s1);
		//输出s1:
		System.out.println("s1.length:"+s1.length());
		//输出s1.length:0
		
		//public StringBuilder(String str):根据字符串的内容,来创建可变字符串对象
		StringBuilder s2=new StringBuilder("helloworld");
		System.out.println("s2:"+s2);
		//输出s2:helloworld
		System.out.println("s2.length:"+s2.length());
		//输出s2.length:10
		
		//public StringBuilder append(任意类型):添加数据,并返回对象本身
		StringBuilder s3=new StringBuilder();
		StringBuilder s4=s3.append("hello");
		
		System.out.println("s3:"+s3);
		//输出s3:hello
		System.out.println("s4:"+s4);
		//输出s4:hello
		System.out.println(s3==s4);
		//输出true
		
		s3.append("world").append("100");
		System.out.println(s3);
		//输出helloworld100
		
		s3.reverse();
		System.out.println(s3);
		//输出001dlrowolleh
		}
	}


5.StringBuilderとStringの間の変換

  • (1).StringBuilder-> String
  •  public String toString()
    
  • toStringメソッドを使用してStringBuilderをStringに変換します
  • (2).String-> StringBuilder
  •  public StringBuilder(String s)
    
  • 構築方法により、StringをStringBuilderに変換できます
public class stringbuilderDemo {
    
    
	public static void main(String[] args) {
    
    
	
	StringBuilder s1=new StringBuilder();
		s1.append("hello");
		
		String s2=s1.toString();
		System.out.println(s2);		//输出hello
		
		String s3="helloworld";
		
		StringBuilder s4=new StringBuilder(s3);
		System.out.println(s4);		//输出helloworld
	}
}

おすすめ

転載: blog.csdn.net/weixin_45102820/article/details/112982018