私はJavaが初めてで、非常に基本的な質問があります。文字列があり、その部分文字列が必要です。次に例を示します。
String str = "hello";
str.substring(1);
System.out.println(str);
取得する代わりに"ello"
、元の を取得しますが、"hello"
これはなぜですか? ありがとう。
Java の文字列は不変です。私はあなたがこれをしたいと信じています:
String str = "hello";
str = str.substring(1);
System.out.println(str);
Java では文字列を変更できないため、部分文字列を次のように再割り当てする必要があります。
str = str.substring(1)
メソッド自体を呼び出すのとは対照的です。
文字列に対して行われた変更を保存していません。
str=str.substring(1);
部分文字列を新しい変数 (または必要に応じて古い変数) に保存する必要があります。このような何かがうまくいくはずです:
String str = "hello";
String strSub = str.substring(1);
System.out.println(strSub);
この投稿を読んでいる人は、substring(1) が文字 1 から文字列の最後まで部分文字列を取得することを意味することを覚えておいてください。
.println(..)に直接入れることができます
String str = "hello";
System.out.println(str.substring(1));
ただし、strは変更されません。