java - 将对象转换为原始类型

标签 java casting

我正在尝试发送 Collection<myClass>跨网络。我把它当作一个对象,然后我就这样发送了。

我认为对网络中传递的项目进行建模的最佳方法是通过对象,因为我事先不知道它可能是什么(在这个例子中,它是一个集合,但有时它是一个 map 或者你能想到的任何其他东西)。这在某种程度上类似于 C 中套接字的工作方式,其中只有接收方和发送方知道他们正在发送/接收什么,并适本地转换对象,而连接只关心字节并正确传输它们。

但是,当接收到对象时,如果我尝试将其转换回 collection<myObject> ,一条警告提到不安全的类型转换。我可以添加 @suppressWarnings,但是执行此转换以避免此警告的最佳方法是什么?

谢谢

最佳答案

由于您(尽管主要是 Java)不知道您收到的对象的类型,因此不可能安全地转换它。

你可以做的事情:

  • 您需要真正确定它是您认为的对象
  • 也许可以添加一个 try-catch block 来捕获 ClassCastException(更加确定)
  • 最后添加 @SuppressWarnings 注释,因为你想覆盖 Java 的安全检查(因为你想知道得更多)

关于java - 将对象转换为原始类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14572030/

相关文章:

Java - 为什么我的插入速度这么慢?

c# - 为复杂泛型类型创建类或接口(interface)

java - 对泛型参数类型的错误转换不会在 Java 中抛出 ClassCastException

java - FragmentActivity 强制转换以避免静态引用

java - WSO2 ESB JSON 到 SOAP

java - JSF 2.1 使用 Ajax 同时验证两个输入

java - 为什么它在字符串中返回错误的重复次数?

java - 看不懂double类型转byte类型的结果

c - 重新类型转换一个变量,可能吗?

java - AES 加密结果不同 Java 和 Python