【发布时间】:2014-09-22 22:04:33
【问题描述】:
当对类使用 gson 时,类变量之一可以是字符串或列表。是否可以在不创建一个类具有 String 而另一个类具有 List 的全新类的情况下捕获并解决此问题?
这是一个类的例子:
public class JsonClass
{
private List<Integer> range;
public List<Integer> getRange() { return range; }
}
这仅在范围是带有整数的列表时才有效,但它也可以只是一个字符串。 gson 消息是:“预期为 STRING,但为 BEGIN_ARRAY”。
【问题讨论】:
-
Java 不允许两个方法具有相同的名称(和相同的参数类型)......因此,您必须通过将它们分成类来跟踪这两个实例,或者只保留不同的字段 @ 987654322@ 和
List<Integer> range以及你的 getter 方法:public List<Integer> getRange()和public String getStrRange()