8

次のセットアップ:

int a=3;
String b="3";

両方の変数は、意味的に等しい ID を表します。アプリケーションはモバイル デバイス用であるため、これらの変数の比較を可能な限り効率的な方法で行うことが非常に重要です。

これらの変数をこのスニペットと比較するのは効率的ですか?

boolean areEqual = Integer.parseInt(b) == a;

またはこれで?

boolean areEqual = String.valueOf(a).equals(b);
4

3 に答える 3

1

コードの最大の非効率性は、おそらく、すべての比較で int と String の間で変換を行っていることです。最初にデータを取得するときに、 String から int への変換を正しく行うだけです。このようにして、ユーザーが入力を間違えた場合など、エラー メッセージがすぐにユーザーに届くようにすることもできます。

于 2013-08-16T18:27:37.787 に答える
1

文字列に数字が含まれていることがわかっている場合、最も効率的な方法はおそらく次のとおりです。

boolean areEqual = (a == (b.charAt(0) - '0'));
于 2013-08-16T20:37:17.203 に答える