[Java] Long型とlong型の比較メモ
Javaで社内システムを作ってるときに、Long型の値とlong型の値を「==」で一致判定しようとしたら一致しなくて詰まったのでメモ。まだまだ未熟なエンジニアなので許してください_m(-_-)m_
プリミティブ型の数値と参照型の数値をそのまま比較したいときは?
参照型のequalsメソッドを使いましょう。
Long num1 = 1L;
long num2 = 1l;
if(num1==num2) { //1
System.out.println("true");
} else {
System.out.println("false");
}
if(num1.equals(num2)) { //2
System.out.println("true");
} else {
System.out.println("false");
}
「1」のような比較を行うと、必ずfalseになりますが、「2」のような比較を行えば、数値が合っていればtrueになります。
後書き
記念すべきQiita初投稿記事でした。
プリミティブ型と参照型はスクリプト言語しかやったことない人には馴染みがない概念だと思いますが(僕も最初そうでした)、しっかり理解しておくべきことなので、Java初心者の方は頑張って理解しましょう(何様)。
僕も初心者赤ちゃんエンジニアなので頑張ります。
Author And Source
この問題について([Java] Long型とlong型の比較メモ), 我々は、より多くの情報をここで見つけました https://qiita.com/Hottomo0610/items/0efd0726bab05ba89956著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .