2009年6月2日(火曜日)
boolをStringに変換して長さを見てtrueと判断
公開: 2024年12月21日23時28分頃
これはすごい。
bool値をStringに変換してその文字の長さが4のときtrueと判断していた。
#さっき見た
こんな感じのコードなのでしょうか。
boolean foo = bar.check(); if(foo.toString().length == 4){ // 処理 }
もちろん、本来ならこれで良いはず。
boolean foo = bar.check(); if(foo){ // 処理 }
ものすごい発想ですが、これでも正しく動作するのが面白いですね。効率は悪いですが、それも誤差の範囲でしょう。
想像ですが、発想の経緯はこんな感じなのかしら?
- if(……) には必ず == や > などを含む条件式を書かなければならないと思っていて、if(foo) が発想できなかった
- bool値リテラルの書き方を知らず、if(foo == true) も発想できなかった
- 文字列リテラルは知っていたので if(foo == "true") と書いてみたが、型が違うのでうまく行かなかった
- 型を揃えるべく if(foo.toString() == "true") と書いてみたが、Javaだったのでうまく行かなかった
※Javaでは == での比較は同一インスタンスかどうかを調べるので、文字列比較は equals() メソッドを使うのが定石。
- そこで if(foo.toString().length == 4) と書いたら動いた
まあしかし、私は私でこんなのを書いたことがありますし……。
if(foo){ return true; } else { return false; }
あんまり他人のことは言えませんね。
- 「boolをStringに変換して長さを見てtrueと判断」へのコメント (4件)
関連する話題: プログラミング
- 前(古い): 2009年6月1日(Monday)のえび日記
- 次(新しい): 2009年6月3日(Wednesday)のえび日記