equals變數在前面和後面的問題

2021-09-28 10:58:44 字數 614 閱讀 8137

string is_cache = portservice.findiscachebyid(port.getid());

if(is_cache.equals("0"))else

今天在測試的時候遇到了這個問題。報了空指標異常。經過了一番查詢之後找到了問題所在,決定記錄下來。

問題原因是我的is_cache可能為null,如果is_cache為null,string物件就是乙個空物件,空物件沒有equals方法,所以就會報空指標異常。如果將**改為下面這種方式就可以避免空指標異常。

string is_cache = portservice.findiscachebyid(port.getid());

if( !"0".equals(is_cache))else

為了避免這個坑,我在網上查到還有另外乙個解決方法。使用org.apache.commons.lang包下的stringutils.equals(string str1, string str2)方法

原始碼為:

public static boolean equals(string str1 ,string str2)

equals變數在前面和後面的區別

我就不廢話那麼多,直接上 package sf.com.maintest public class test public boolean isbool string a 如上述 a.equals true 和 null equals a 有什麼區別的?答案 前者會拋空指標異常,後者不會 剖析 如果...

寫在前面的話

csdn開博前言 這是第一次在csdn寫博,所以將寫作的背景及原因交待一下,恐以後自己寫博的時候離題萬里,當看到這篇文章的時候明白要在這個地方留下些什麼東西。也或許有幸能被別人看到我寫的文字,也能明白我的意圖。寫這些文字的時候,我做為一名開發人員在一家軟體公司實習。能有機會從事和程式設計相關的工作心...

寫在前面的話

屈指算算,從接觸計算機到現在,已經過去了12個年頭,其中做全職程式設計師也有3個年頭了。這些年來我頻繁查閱網際網路上的資源,也免費使用許多優秀的開源 感謝網際網路提供的知識海洋,它讓我們獲取知識的方式變得如此便捷。我曾經註冊過許許多多的網路賬號,如今它們大多我已忘記。現在我想把我的一點想法記錄下來,...