Java の文字列に関して最もよく寄せられる質問トップ 10 はここに記載されています
-
文字列を比較するにはどうすればよいですか? 何を使用するか: "
==
" またはequals()
?つまり、「
==
」は文字列への参照を比較しますが、equals()
それらの文字列に含まれる値を比較します。2 つの文字列が同じオブジェクトであることを確認したくない場合は、 を使用する必要がありますequals()
。文字列プールの概念についても知っておくとよいでしょう。
-
char[]
機密情報を保護するために文字列 ( ) が推奨されるのはなぜですかString
?文字列は不変です。これは、文字列が作成されると、ガベージ コレクターが実行されるまで変更されないことを意味します。配列の場合、その要素を変更できることは明らかです。こうすることで、機密情報 (パスワードなど) がプログラム内のどこにも平文で保存されなくなります。
-
switch ステートメントを使用するときに文字列をパラメーターとして渡すことはできますか?
はい、JDK バージョン 7 以降です。以前のバージョン 6 では、これは不可能でした。
// java 7 only! switch (str.toLowerCase()) { case "a": value = 1; break; case "b": value = 2; break; }
-
文字列を整数値に変換するにはどうすればよいですか?
int n = Integer.parseInt("10");
Java の他のプリミティブ型についても同様です。
-
文字列をスペース区切りの行に分割するにはどうすればよいですか?
最も簡単な方法は、正規表現を使用することです。「 」は、「 」、「」、「」、「 」
\s
などの空白文字の代替として機能します。\t
\r
\n
String[] strArray = aString.split("\\s+");
-
<このメソッドは実際に何をするのですか
substring()
?JDK 6 では、このメソッドは
substring()
既存の文字列の文字の一部を表示しましたが、文字列の別個のインスタンスを作成しませんでした。文字の配列として表される新しい文字列を作成するには、たとえば次のように空の文字列を追加します。str.substring(m, n) + ""
結果は文字の配列であり、これが新しい文字列です。このアプローチでは、ガベージ コレクターが未使用の大きな文字列を破棄し、部分文字列のみを保存できるため、コードの実行時間を短縮できる場合があります。
Oracle JDK 7 では、メソッドは
substring()
既存の文字配列を使用せずに新しい文字配列を作成します。JDK 6 と JDK 7 の substring() メソッドの違いを表す図も見ることができます。 -
String 対 StringBuilder 対 StringBuffer
String
vsStringBuilder
:StringBuilder
mutable、つまり、オブジェクトの作成後にその内容を変更できることを意味します。StringBuilder
vsStringBuffer
:StringBuffer
同期済み。つまり、複数のスレッドから同時に使用すると正しく機能しますが、 よりも遅くなりますStringBuilder
。 -
行を複数回繰り返すにはどうすればよいですか?
Python では、文字列に数値を掛けるだけで
n
、それを n 回繰り返すことができます。repeat()
Java では、Apache Commons Lang ライブラリ クラスのメソッドを使用できますStringUtils
。String str = "abcd"; String repeated = StringUtils.repeat(str,3); //abcdabcdabcd
-
文字列を日付に変換するにはどうすればよいですか?
String str = "Sep 17, 2013"; Date date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str); System.out.println(date); //Tue Sep 17 00:00:00 EDT 2013
-
文字列内の特定の文字の出現数をカウントするにはどうすればよいですか?
StringUtils
Apache Commons Lang ライブラリのクラスを使用します。int n = StringUtils.countMatches("11112222", "1"); System.out.println(n);
GO TO FULL VERSION