string.trim()
先頭と末尾のスペースを削除することを学びました。しかし、私の場合はうまくいきません。コードの下で試していますが、出力の先頭と末尾にスペースがあります。しかし、私の期待は、前後にスペースのないテキストです。これが私のコードです。
String s = " Hello Rais ";
s += " Welcome to my World ";
s.trim( );
System.out.println(s);
私を助けてください
trim
backの結果を に再割り当てする必要がありますs
:
s = s.trim();
Java の文字列は immutableであるため、ほとんどすべての String クラス メソッドは、文字列をその場で変更するのではなく、新しい文字列を作成して返します。
これはトピックから外れていますが、(そこで述べたようにalmost
)、このルールの例外はsubstring
、同じ長さの を作成する場合、またはメソッドが同じ値の文字列を返す場合であり、最適化されて、新しい文字列を作成するのではなく、単純に を返しthis
ます。
String s = "Rohit";
String s2 = s.substring(0, s.length());
System.out.println(s == s2); // will print true
Java 文字列はimmutable
. したがってs.trim()
、元の文字列は変更されませんが、新しい文字列が返されます。
String trimmed = s.trim();
トリムは新しい文字列s=s.trim( );
を返すため、追加するだけです。
Well..stringは不変オブジェクトです。したがって、trim()を実行するたびに、新しいStringオブジェクトが作成されます。このオブジェクトには、アクセスするための参照が必要です。したがって、次のように、このトリミングされたStringオブジェクトへの参照を割り当ててください。
s = s.trim();
また
trimmedS = s.trim();
String
Javaでは不変であることを理解してください。つまり、String
クラスに対する操作は内部文字列自体を変更しませんが、新しいString
オブジェクトを返します。
だからあなたは本当にする必要があります
s = s.trim()
これは、末尾と先頭のスペースが削除されs
た新しいオブジェクトへの参照を割り当てます。String
trim
関数は空白をトリミングして元の文字列のコピーを返すため、新しく返された文字列を次のように保存する必要がありますs = s.trim()
String#trim()のjavadocsから
trim
public String trim()
Returns a copy of the string, with leading and trailing whitespace omitted.