【初心者】 Java質問・相談スレ29 【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0164デフォルトの名無しさん
NGNG職場で、↓のソースを見たのですが、ちょっと疑問に思ったもんで、
質問させてください。
if( xxxx.compareTo(yyy) == -1 ){
mecheodA(); // Aの処理を実行
}else{
mecheodB(); // Bの処理を実行
}
もともと、ここの処理が書かれているところでは、
yyyより、xxxxが小さかった場合、Aの処理を実行し、
yyyより、xxxxが大きかった場合、Bの処理を実行するようになっています。
しかし、上のコーディングの
if( xxxx.compareTo(yyy) == -1 ) の条件の意味は、
xxxx.compareTo(yyy)を実行した結果の値が-1だった場合、
Aの処理を実行するという意味になってしまうと思います。
この条件式だと
yyyより、xxxxが小さかった場合、Aの処理を実行し、
yyyより、xxxxが大きかった場合、Bの処理を実行するということを
満たしていないと思っています。
なぜなら、xxxx.compareTo(yyy)で、yyyより、xxxxが小さかった場合は
負の数が得られますが、その負の数が必ず-1であるとは限らないと
考えているからです。
この考えであっているのでしょうか?
一応、調べた結果、自分なりそう結論付けました。
週末に、先輩方に聞き忘れてしまいましたので、ココで質問させて
もらいました。
どなたか、質問に答えていただければありがたいです。
■ このスレッドは過去ログ倉庫に格納されています