2012-03-16 106 views
1

我有一個表「打」,與浮點數據類型的列data_value(默認值:NULL):如何處理空值與數據類型float的表列

DROP TABLE IF EXISTS `hit`; 
CREATE TABLE `hit` (
    `hit_id` bigint(20) NOT NULL auto_increment, 
    `data_value` float default NULL, 
    PRIMARY KEY (`hit_id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

我應該如何處理這在java中當我做的時候:getDataValue()?我希望它返回NULL,如果該值爲空,但它返回0.0。 謝謝,

大衛大寫Java類,而不是原始的,例如

+4

我假設你正在嘗試閱讀一個'float'而不是'Float',不是嗎?嘗試改變它,你應該得到'null'而不是'0.0'。 – Thomas 2012-03-16 16:32:52

+0

這個表的java類是由一個ORM庫(即Torque)自動生成的,getDataValue()返回double,反過來0.0則爲null條目。我知道我可以有另一種方法返回Double而不是double,這是處理這種情況的最好方法嗎? – 2012-03-16 17:03:53

+0

是的,你需要返回一個包裝對象而不是一個基元,因爲基元沒有空值。 – Thomas 2012-03-16 17:10:25

回答

1

用途之一:

  • 浮動,而不是浮
  • 雙,而不是雙
  • 的BigDecimal

基元不能取值null,它們總是默認爲0。這些課程還允許您使用null