Questions tagged «nullable»

可为空的标记用于与可为空的成员或类型有关的问题。空值用于表示缺失或未知值。

3
如何在Java中编写可为null的int?
我想将Web表单转换为Java模型。 在C#中,我可以这样写: <input name="id" value="" type="text"/> public class Test { public int? Id{get;set;} } 在id可以为空。 但是在Java中,使用struts2时会引发异常: Method "setId" failed 那么如何用Java编写这种情况呢?
73 c#  java  nullable 


8
当.ToString()在具有null值的可为null的int上正常工作时,为什么对null字符串的.ToString()会导致null错误?
selectedItem 有两个字段: int? _cost string _serialNumber 在这个例子中,_cost和_serialNumber的selectedItem都是空。我正在阅读通过selectedItem其属性的字段,并在...时在文本框中填充其值。 TextBox1.Text = selectedItem.Cost.ToString(); //no error TextBox2.Text = selectedItem.SerialNumber.ToString(); //error 我知道这SerialNumber.ToString()是多余的(因为它已经是一个字符串),但是我不明白为什么这会导致此异常: 可为空的对象必须具有一个值。 int? _cost 可以为空,并且没有值,但是它没有给我例外。 string _serialNumber可以为空,并且没有值,但是确实给了我例外。 这个问题触及了这个问题,这个家伙本质上是在问同样的事情,但是没有指定的答案,也没有解释为什么可以为空int?例如,我可以.ToString()在可为null的int上使用,但不能在null字符串上使用吗?
70 c#  string  null  int  nullable 

14
Linq查询具有可为空的总和
from i in Db.Items select new VotedItem { ItemId = i.ItemId, Points = (from v in Db.Votes where b.ItemId == v.ItemId select v.Points).Sum() } 我得到了这个查询,但是,如果没有发现异常的选票,它将失败: The null value cannot be assigned to a member with type System.Int32 which is a non-nullable value type. 我以为它是因为sum返回一个int而不是可为null的int,从而给sum一个int?由于输入仅给出相同的错误,可能导致求和仅适用于int。 有什么好的解决方法吗?
70 c#  linq  linq-to-sql  sum  nullable 


6
您是否应该在生产代码中使用assert语句断言不为null?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便可以通过编辑此帖子以事实和引文回答。 上个月关闭。 我已经看到了这个问题,但是关于assert关键字的用法还有其他一些问题。我正在和其他一些编码员讨论使用assert。对于此用例,有一种方法可以在满足某些先决条件的情况下返回null。我编写的代码调用该方法,然后断言它不会返回null,并继续使用返回的对象。 例: class CustomObject { private Object object; @Nullable public Object getObject() { return (object == null) ? generateObject() : object; } } 现在想象一下我是这样使用它的: public void useObject(CustomObject customObject) { object = customObject.getObject(); assert object != null; // Do stuff using object, which would throw a NPE if …
32 java  assert  nullable 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.