繁体   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