簡體   English   中英

將對象轉換為原始類型

[英]cast of object into original type

我正在嘗試通過網絡發送Collection<myClass> 我把它作為一個對象,然后我就這樣發了。

我認為模擬化在網絡中傳遞的項目的最佳方法是通過Object,因為我事先並不知道它可能是什么(在這個例子中,它是一個集合,但有時它是一個Map或任何其他你能想到的事情)。 這在某種程度上就像套接字在C中工作的方式,只有接收者和發送者知道他們發送/接收的內容,並適當地轉換對象,而連接只關心字節並正確傳輸它們。

但是,當接收到Object時,如果我嘗試將其強制轉換回collection<myObject> ,則警告會提到不安全的類型轉換。 我可以添加@suppressWarnings,但是這樣做的最佳方法是什么才能避免這種警告?

謝謝

由於您(盡管主要是Java)不知道您收到的對象的類型,因此無法安全地投射它。

你可以這樣做:

  • 你需要確定它是你認為的對象
  • 也許添加一個try-catch塊來捕獲ClassCastException (更加確定)
  • 最后添加@SuppressWarnings注釋,因為你想要覆蓋Java的安全檢查(因為你想要更好地了解)

考慮使用一些中間格式進行序列化,如JSON或XML。 有大量的庫可用於將對象編組到JSON中或從JSON中解組對象。 例如GSON 你得到的免費是語言互操作性,因為另一方面,可能有任何語言的程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM