我正在尝试发送 Collection<myClass>
跨网络。我把它当作一个对象,然后我就这样发送了。
我认为对网络中传递的项目进行建模的最佳方法是通过对象,因为我事先不知道它可能是什么(在这个例子中,它是一个集合,但有时它是一个 map 或者你能想到的任何其他东西)。这在某种程度上类似于 C 中套接字的工作方式,其中只有接收方和发送方知道他们正在发送/接收什么,并适本地转换对象,而连接只关心字节并正确传输它们。
但是,当接收到对象时,如果我尝试将其转换回 collection<myObject>
,一条警告提到不安全的类型转换。我可以添加 @suppressWarnings,但是执行此转换以避免此警告的最佳方法是什么?
谢谢
最佳答案
由于您(尽管主要是 Java)不知道您收到的对象的类型,因此不可能安全地转换它。
你可以做的事情:
- 您需要真正确定它是您认为的对象
- 也许可以添加一个
try-catch
block 来捕获ClassCastException
(更加确定) - 最后添加
@SuppressWarnings
注释,因为你想覆盖 Java 的安全检查(因为你想知道得更多)
关于java - 将对象转换为原始类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14572030/