読者です 読者をやめる 読者になる 読者になる

やるしかなっちゃん

やるしかない!

Java/Pythonの同値性/同一性比較

Java Python

この2つの言語の同値性と同一性の違い

Java

Javaの同一性比較は==

"hoge" == "hoge" // -> false(この程度だと多分trueになるけど...)

Javaの同値性比較はequals

"hoge".equals("hoge") // -> true

Python

Pythonの同一性比較はis

"hoge" is "hoge" // -> false(この程度だと多分trueになるけど...)

Pythonの同値性比較は==

"hoge" == "hoge" // -> true

JavaPythonの違い

==の意味が逆になってる
僕はJava脳なのでいつもPythonを書いていると一回Javaで考えてから逆に考えないといけなくなるので非常に苦痛

nullチェックは?

Javaのnullチェック

obj == null

Pythonのnull(Noneだけど)チェック

obj is None

同一性が異なるので当然こうなる

まとめ

😩