在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  C++  網(wǎng)絡安全/ #討論# 為什么java要設計成有NullPointerException(空指

#討論# 為什么java要設計成有NullPointerException(空指針)的概念?

java8的Optional并沒有讓程序變得簡潔,所以不說他了好吧,謝謝

看了下面這個問題,我覺得這么設計就很好

Java里面null.method()可以設計為返回null嗎?

現(xiàn)在java的版本是 每次調(diào)用null的方法之后都會拋出一個NullPointerException的異常,

我就覺得java不應該這么設計,

因為這么設計會帶來代碼量的超大量增加,如果我想保證程序中不存在空指針的問題,就需要每一次方法調(diào)用前,都進行非空判斷!

否則,無論你的程序?qū)懙亩嗤晟?,都避免不了空指針的問題!

我之所以敢這么說是因為,之前聽阿里的人說過,"無論你的程序?qū)懙亩嗤晟?,都避免不了空指針的問題!",還有外加自己這幾年開發(fā)的經(jīng)驗,大家也可以想一下,這么多年,我們認真開發(fā),認真思考,盡量思考全面,可是誰沒碰到過NullPointerException,這就說明人不可能面面俱到,我們都是按照正常邏輯開發(fā)的,誰也不能寫一行代碼想100中可能,

開發(fā)中,數(shù)據(jù)庫突然被人清空一列,誰敢保證自己的程序不報空指針?

這種情況下我們的程序就異常了,無法向下執(zhí)行了,這是不能被我接受的,我認為如果出現(xiàn)了數(shù)據(jù)庫被清空的問題,你只要在返回給我的結(jié)果里告訴我,這列為null,就行了,干嘛要讓我的整個程序都執(zhí)行異常?

很多時候,我們是可以接受數(shù)據(jù)庫有些字段有時候是null,有時候有值的。

如果有時候你不能接受結(jié)果為null,卻得到了Null的結(jié)果,這很明顯是程序里發(fā)生了問題,應該去debug查找問題;

我認為,這是程序員的工作,而不該是java語言的工作,

java現(xiàn)在把所有對null方法的調(diào)用都報了異常,就是等于幫程序員調(diào)了bug,但是造成了大量本可以避免的代碼的增加

回答
編輯回答
淚染裳

java方言了解一下

2018年6月18日 06:55
編輯回答
巴扎嘿

如果不報異常,可能你(程序員)就無法發(fā)現(xiàn)你的程序中存在的問題,因為人都是懶惰的,如果不報異常,估計很少有人會去判斷或catch空指針,這就很可能會導致一個結(jié)果:你的程序中已經(jīng)出現(xiàn)很大的問題了,但是你卻感知不到。

但是從用戶的角度來看,他們卻可以感覺到很多這類問題:本該顯示價格的地方卻什么都沒有顯示、本該進行到下一步流程的但是什么都沒有發(fā)生,也沒有報錯、等等諸如此類問題……

2018年1月2日 06:43
編輯回答
有點壞

據(jù)樓上討論:
你這樣的態(tài)度只是你個人的態(tài)度,企業(yè)則需要穩(wěn)如狗,如果是阿里這樣的大企業(yè),一個空指針能追蹤多少臺服務器.
所以按你的想法來弄java,java就成不了企業(yè)級的開發(fā)語言.基本只能自娛自樂

2018年3月8日 16:20