java 根据泛型返回对象
我想写一个公共方法,传入两个相同类型对象a、b,如果a是null就返回b
public static ifObj(Object a, Object b) {
if(null == a) {
return b;
}else {
return a;
}
}
Obj obj = ifObj(xxx, new xxx());
可是这样做返回结果还要转型,我想ifObj的基础上修改一些,调用方法传一个对象类型或泛型,判断a为null的话,根据类型或泛型泛型new一个对象返回;这样思路可以吗,语法应该怎样写才能实现呢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
@learnmeahaskell 在评论中给了你思路,不过我想再提一点:
ifObj(xxx, new xxx())
的话,也就是说无论xxx
是否为空,都会执行new xxx()
来生成新实例,这样不是很好,会导致无意义的资源开销,可以用个接口来延迟加载。orElseGet
里其实就是supplier
。