30

2 つの StringBuilder オブジェクトがあるので、それらを Java で比較する必要があります。私ができることを知っている1つの方法は

sb1.toString().equals(sb2.toString());

しかし、それは私が2つのStringオブジェクトを作成していることを意味します.StringBuilderオブジェクトを比較するより良い方法はありますか. おそらく、追加のオブジェクトを作成する必要がないものでしょうか?

4

4 に答える 4

43

すでにご存知のように、 はから継承しStringBuilderているため、同じオブジェクトが引数として渡された場合にのみ true を返します。2 つの の内容は比較しませequals()java.lang.ObjectStringBuilder.equals()StringBuilder

ソースを見ると、最も効率的な比較 (新しいオブジェクトの作成を必要としない) は.length()、戻り値を比較し、同じ場合はcharAt(i)for eachの戻り値を比較することであることがわかります。キャラクター。

于 2012-06-13T02:20:18.943 に答える