我正在尝试发送一个Collection< myClass>穿过网络.我把它作为一个对象,然后我就这样发了.
我认为模拟化在网络中传递的项目的最佳方法是通过Object,因为我事先并不知道它可能是什么(在这个例子中,它是一个集合,但有时候它是一个Map或任何其他你能想到的事情).这在某种程度上就像套接字在C中工作的方式,只有接收者和发送者知道他们发送/接收的内容,并适当地转换对象,而连接只关心字节并正确传输它们.
但是,当接收到Object时,如果我尝试将其强制转换回集合< myObject>,则警告会提到不安全的类型转换.我可以添加@suppressWarnings,但是这样做的最佳方法是什么才能避免这种警告?
谢谢
最佳答案
由于您(尽管主要是Java)不知道您收到的对象的类型,因此无法安全地投射它.
@H_404_22@你可以这样做:
>你需要确定它是你认为的对象
>也许添加一个try-catch块来捕获ClassCastException(更加确定)
>最后添加@SuppressWarnings注释,因为你想要覆盖Java的安全检查(因为你想要更好地了解)