[英]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.