簡體   English   中英

Java Reflection傳遞參數

[英]Java Reflection passing parameters

HI,

我有方法,每個方法都需要整數,字符串。 我從xml文件讀取輸入。 我不會知道輸入的類型。 我正在使用反射來調用該方法。 我閱讀了xml並將其存儲為字符串。 我通過傳入參數來調用該方法。 其中一種方法期望整數,但是我傳入了字符串。 當我嘗試執行getType並強制轉換時,它拋出類強制轉換異常。

任何幫助,將不勝感激。

謝謝,Priya.R

Java是強類型語言。 您不能將字符串傳遞給整數期望方法。 您應該將字符串轉換為整數,可以使用Integer.parseInt()。

如果XML文件中的所有輸入都是字符串,那么XML文件和普通文本文件之間確實沒有區別,是嗎?

主要問題是數據類型的表示形式:您未按預期使用XML。 XML文件應表示輸入具有的特定數據類型。 例如,一個人的年齡應表示為int 當您將所有內容編碼為字符串時,您將失去類型語義。

至於實際的代碼,請分別使用位於此處此處XMLEncoderXMLDecoder Java類。

基本上,您將執行以下操作:

XMLEncoder encoder = new XMLEncoder();
XMLDecoder decoder = new XMLDecoder();

編碼(又名:將數據存儲到XML文件)-將第一個輸入寫為整數類型encoder.writeInt(someIntValue) )-將第二個輸入寫成字符串: encoder.writeString(someStrValue) -等等

解碼時,首先解碼整數,然后解碼字符串,依此類推。

暫無
暫無

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

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