不変の文字列の内容を
3つの一般的な方法1:
- 直接作成:
3つの一般的な方法:
Pulic文字列の()空白文字列を作成するために、内容のいずれかが含まれていない
対応する文字列を作成するには、文字の配列の内容に基づいて公共の文字列(文字[]配列)。
パブリックコンテンツのバイト配列に応じて文字列(バイト[]配列)、及び対応する文字列を作成します。
public class StringDemo {
public static void main(String[] args) {
// 创建一个空白字符串
String s = new String();
System.out.println("第一个字符串:" + s);
// 创建字符数组字符串
char[] ch = {'A', 'B', 'C'};
String s1 = new String(ch);
System.out.println("第二个字符串:" + s1);
// 创建字节数组字符串
byte[] by = {97, 98, 99};
String s2 = new String(by);
System.out.println("第三个字符串:" + s2);
// 直接创建字符串
String s4 = "你好";
}
}
文字列定数プール:
文字列値の内容を比較する必要がある場合==番号がアドレス比較値オブジェクトは、ある
命令注意:
- 任意のオブジェクトは、オブジェクトで受け取ることができます
- この方法は、対称性、すなわちa.equals(b)およびb.equals(A)と同じ効果を有しているに等しいです。
- 双方は変数に定数を比較する場合、文字列定数の社説が推奨、変数は、空調用、空であってもよいので、この方法は、等しい
ヌルポインタ例外が報告されます。
パブリックブールequalsIgnoreCase(文字列anotherString)大文字小文字の区別なしで、別の文字列にこの文字列を比較します。二つの文字列の長さが同じであり、ここで各文字が(ケースを無視して)等しい場合、2つの文字列が同じであると考えられます。
public class equalsDemo {
public static void main(String[] args) {
String str1 = "abc";
String str2 = "abc";
char[] ch = {'a', 'b', 'c'};
String str3 = new String(ch);
System.out.println(str1.equals(str2)); //true
System.out.println(str1.equals(str3)); //true
System.out.println(str2.equals(str3)); //true
String str5 = null;
System.out.println("c".equals(str5)); //推荐写法
//System.out.println(str5.equals("c")); //不推荐,会报空指针异常 //java.lang.NullPointerException
// 不区分大小写进行比较
String str4 = "abc";
String str6 = "ABC";
System.out.println(str4.equalsIgnoreCase(str6)); //true
}
}
文字列の一般的な方法:
CONCAT(文字列str)
指定された文字列は、文字列のこの端部に接続されています。
charAt(int index)指定され
、指定されたインデックス位置にあるchar値を返します。
indexOf(文字列str)は
、文字列の最初の出現にサブストリングのインデックスを返します。
長さ()
この文字列の長さを返します。
サブストリングが(beginIndexパラメータをint型)
この文字列の部分文字列である新しい文字列を返します。
ストリング(INTたbeginIndex、int型endIndexの)は、
この文字列の部分文字列である新しい文字列を返します。
GetBytesメソッド()
プラットフォームのデフォルトの文字セットエンコーディングを使用しては、結果を新規バイト配列に格納、このシーケンスバイトの文字列です。
[] toCharArray()char型
の新しい文字配列にこの文字列を。
置き換え(CharSequence引数のターゲット、のCharSequenceの交換)は
、標的配列のすべて、この文字列リテラルマッチのリテラル置換シーケンスの交換部分文字列を指定しました。