[英]A null object cast to int causes NullReferenceException?
我有以下通用代码:
public V put(K key, V value){
Object o = doOp(ClusterOperation.CONCURRENT_MAP_PUT, key, value);
return (V)o;
}
问题是,Object o可以为null。 当我使用像String这样的对象时,可以将null强制转换为String。 但是当V表示int时,则null cast to int抛出NullReferenceException。
有没有足够通用的解决方案并处理int?
谢谢
使用default
关键字:
if(o == null)
return default(V);
return (V)o;
用int?
(即可以为null的 int
)而不是int
。
int不能为null,只要它不是可空的int。 如果你的int可以为null,那么感觉它也是使用nullable的正确解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.