HOWTO · Java
Javaのtrim()とstrip()
このチュートリアルでは、Java の trim() メソッドと strip() メソッドの違いを示します。
このページの内容
このチュートリアルでは、Java の trim() メソッドと strip() メソッドの違いを示します。
Java trim() vs strip()
trim() と strip() メソッドはどちらも文字列型のデータに使用され、何らかの方法で同じ操作を実行します。 どちらの方法でも、文字列から末尾と先頭の空白が削除されます。
ただし、どちらの方法にもいくつかの違いがあります。 次の表は、trim() メソッドと strip() メソッドの違いを示しています。
trim() |
strip() |
|---|---|
trim() メソッドは、JDK バージョン 10 から追加されました。 |
strip() メソッドは、JDK バージョン 11 から追加されました。 |
trim() メソッドは常に新しい文字列オブジェクトを割り当てます。 |
strip() メソッドは、空の文字列へのストリッピングを最適化し、インターンされた String 定数を返します。 |
trim() は、スペース文字のコードポイントが U+0020 以下の末尾および先頭の空白を削除します。 |
strip() メソッドも末尾と先頭の空白を削除しますが、Character.isWhitespace(int) メソッドを使用してスペース文字を決定します。 |
strip() メソッドは Unicode 標準であるため、trim() の使用よりも推奨されます。 trim() と strip() の使用法を示す例を試してみましょう。
package delftstack;
public class Trim_Vs_Strip {
public static void main(String[] args) {
// case 1: simple string with trailing space
final String DemoString1 = " www.delftstack.com ";
System.out.println(DemoString1.trim().equals(DemoString1.strip()));
// return --> true
// case 2: string with leading \t and trailing \r
final String DemoString3 = "\t www.delftstack.com \r";
System.out.println(DemoString3.trim().equals(DemoString3.strip()));
// return --> true
// case 3: string the Unicode of whitespace
final String DemoString2 = "www.delftstack.com \u2005";
System.out.println(DemoString2.trim().equals(DemoString2.strip()));
// return --> false
// case 4: Unicode less than the white space.
final String DemoString4 = "\u2001";
System.out.println(DemoString4.trim().equals(DemoString4.strip()));
// return --> false
}
}
上記のコードは、さまざまなタイプの文字列で trim() メソッドと strip() メソッドを比較しており、両方のメソッドがさまざまなシナリオでさまざまな方法で実行されることを示しています。
出力を参照してください:
true
true
false
false