繁体   English   中英

转换为int的null对象会导致NullReferenceException?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM