[解決済み] ストリングビルダー.イコール Java
2022-03-04 19:52:04
質問
class strb
{
static public void main(String...string)
{
StringBuilder s1 = new StringBuilder("Test");
StringBuilder s2 = new StringBuilder("Test");
System.out.println(s1);
System.out.println(s2);
System.out.println(s1==s2);
System.out.println(s1.equals(s2)); //Line 1
System.out.println(s1.toString()==s2.toString()); //Line 2
if(s1.toString()==s2.toString())System.out.println("True"); //Line 3
}
}
そして、その出力は
Test
Test
false
false
.equalsについてちょっと質問です。
オブジェクトの内容に関係なく
.equals
は、両方のオブジェクト参照が同じオブジェクトを指している場合にのみ、真を返しますか?
EDIT
: の部分が理解できました。
.equals
が、なぜ2行目、3行目も
true
?
EDIT
: 確か
==
は参照変数のアドレスを見るので、s1とs2が等しくなることはあり得ません。私の仮定が正しくない場合は、修正してください。
どのように解決するのですか?
はい。
StringBuilder does not override Object's .equals() function
となり、2つのオブジェクトの参照は同じではないので、結果は偽となります。
について
StringBuilder
を使用することができます。
s1.toString().equals(s2.toString())
今回の編集では
==
演算子を 2 つの異なる String オブジェクトに適用します。この演算子は
==
演算子は false を返します。文字列を比較するには
String.equals()
または
String.equalsIgnoreCase()
先ほどと同じ問題です
関連
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] tempとは何ですか、またjavaにおけるtempの用途は何ですか?
-
[解決済み] maven. -source 1.5ではラムダ式がサポートされていません。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] StringBuilderとStringBufferの違いについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] tempとは何ですか、またjavaにおけるtempの用途は何ですか?
-
[解決済み] java.sql.SQLException: ORA-00933: SQL コマンドが正しく終了していません。
-
[解決済み] javacが「using unchecked or unsafe operations」という警告を出す原因は何ですか?
-
[解決済み] JOGLまたはLWJGLの既成のプロジェクト
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] Mavenです。JARは空になります - 含有するためにマークされたコンテンツがありません
-
[解決済み] publicId と systemId の間に空白が必要です。
-
[解決済み] x--やx++はここで何をするのですか?
-
[解決済み] .lengthが解決できない、またはフィールドでない
-
[解決済み] JavaでequalsとhashCodeをオーバーライドする際に考慮すべき事項は?