国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

積累從一點一滴開始——java 開發(fā)小結(1)

2019-11-15 00:59:57
字體:
來源:轉載
供稿:網友
積累從一點一滴開始——java 開發(fā)小結(1)

最近在跟著一個項目,在不斷測試和完成功能的過程中發(fā)現了許多比較低級的錯誤,這些問題基本上都是靠著斷點調試發(fā)現的,出問題的代碼看了好幾遍也沒看出問題,我也是醉了…………為了提醒自己以后不要犯同樣的錯誤,總結一下~~~

1、在java中判斷兩個String類型的數據是否相等時,我往往用equals方法,而不是用“==”,因為“==”是判斷兩個String的引用是否相同,而equals方法則是判斷他們的值是否相等。而第一個問題就出現在這里,項目中的一個操作一直沒有得到我想要的結果,問題就出再一個if判斷條件,之前的程序員使用了“==”,使得這個if條件一直不成立;

Map b = new HashMap(); (1) b.put("key", "1");

(2) b.put("key", 1); String a = b.get("key").toString(); if("1" == a){ System.out.PRintln(123456); }else{ System.out.println(654321); }

上面的代碼,(1)和(2)的結果是完全不同的。

2、在判斷一個String的變量是否為空的操作中,由于變量a是從Map類型的b中獲取的,因此需要判斷一下是否為空。在jdk1.7版本中出現了一種方法“a.isEmpty()”,項目中也用到了這個方法,但在實際過程中這個地方一直在報空指針的異常,因為在項目中a是null而不是空,因此會報空指針異常。所以在使用這個方法的時候,先要對變量進行是否為null的判斷。示例代碼如下:

Map b = new HashMap(); /*b.put("key", "");*/ String a = (String)b.get("key"); if(a.isEmpty()){ System.out.println(123456); }else{ System.out.println(654321); }

執(zhí)行上面的代碼,你會發(fā)現會報空指針異常,因為a為null,但如果將綠色部分的注釋取消,那么這段代碼運行過程中是沒問題的,因為a為空。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 余庆县| 广宗县| 余江县| 安新县| 土默特右旗| 突泉县| 来凤县| 东辽县| 于都县| 都江堰市| 石景山区| 常德市| 子长县| 大埔区| 绵阳市| 清新县| 定陶县| 塔河县| 通化县| 婺源县| 新竹县| 宜宾市| 二连浩特市| 桐城市| 米林县| 富蕴县| 土默特右旗| 沁水县| 华宁县| 福海县| 开封县| 普洱| 浮梁县| 贵定县| 措美县| 黄石市| 定兴县| 沂南县| 会宁县| 大田县| 汽车|