スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

空文字チェックの速度比較

ブログ開始から二日目。
とりあえず、週2回更新が目標です。



今日は空文字のチェックについて。

Javaで文字列が空か確認するにはいくつか方法があります。

1. 文字.equals("")
2. 文字.length == 0
3. 文字.isEmpty()  Java 6 の新規機能

さて、どれが一番早いでしょう。やる前からほとんど結果は見えてますが。

・・・

・・



結果からいうと、予想通り 2番(文字.length == 0) でした。(3もほぼ同じですが)

それぞれの比較を1千万回繰り返し、それにかかる時間を10回測定して平均したものが下記です。
1.文字.equals("") :99.7 (ミリ秒)
2.文字.length == 0 :25
3.文字.isEmpty()   :28

(Java 6 で地味に追加されているisEmpthyメソッドは、内部的にはlengthが0か確認しているだけですので、2と同じと考えて良いと思います。)

ということで、空文字か確認する際は、 文字.length == 0 といいたいところですが、正直1千万回のループで75ミリ秒程度の差であれば、どれでもいい気がします。
むしろ、1のほうが「空文字」か確認しているのが明確になって良いかも。
isEmptyはJava6からなので、Java5までと互換を保ちたい場合は使えませんし。



今回の確認環境
OS:Windows Vista Home Basic
CPU:1.8GHz
メモリ:2GB
Java:1.6.0_14


スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

管理者にだけ表示を許可する

検索フォーム
プロフィール

takuan93

Author:takuan93
本ブログの説明書→「ReadMe」

管理者に連絡

カテゴリ
WiX (5)
Ant (1)
フリーエリア
最新記事
カウンター
カレンダー
06 | 2018/07 | 08
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。