HI,
我有方法,每个方法分别需要整数,字符串。我从xml文件中读取输入。我不知道它将是什么类型的输入。我正在使用反射来调用该方法。我读了xml并将其存储为字符串。我通过传入参数来调用该方法。其中一个方法需要一个整数,但我传入字符串。当我尝试执行getType和强制转换时,它会抛出类强制转换异常。
Anyhelp将不胜感激。
谢谢, Priya.R
答案 0 :(得分:4)
Java是强类型语言。您不能将字符串传递给整数期望方法。你应该将字符串转换为整数,你可以使用Integer.parseInt()..
答案 1 :(得分:0)
如果所有输入都是XML文件中的字符串,那么XML文件和普通文本文件之间确实没有区别,是吗?
主要问题是数据类型的表示:您没有使用XML。 XML文件应表示输入具有的特定数据类型。例如,一个人的年龄应该表示为int
。当您将所有内容编码为String时,会丢失类型语义。
对于实际代码,请分别使用位于here和here的XMLEncoder
和XMLDecoder
java类。
基本上,你会做类似的事情:
XMLEncoder encoder = new XMLEncoder();
XMLDecoder decoder = new XMLDecoder();
编码(又名:将数据存储到XML文件)
- 将第一个输入写为整数类型(encoder.writeInt(someIntValue)
)
- 将第二个输入写为字符串:encoder.writeString(someStrValue)
- 等等
解码时,首先解码整数,然后解码字符串等