1 回答
TA贡献1845条经验 获得超8个赞
有几个可能的答案。
我知道你不想听到它 - 但在这种情况下,另一个类真的会成为你最好的朋友,因为你有一个 List,它可以简单地从 String 类型更改为 Spell 类型(这将接受你的描述)。但请记住,这仅需要一个 Class,而不是每个元素一个 Class,所以工作量不大!
例子:
class Spell {
private String name;
private String description;
public Spell(String name, String description) {
this.name = name;
this.description = description;
}
//add getters
}
使用如下
spells.add(new Spell("Aid", "Your spell bolsters your allies with to..."));
另一种方法是使用 Enum (然后您可以使用.values()并丢弃列表)。但这不一定是最好的方法。在我看来,最好的解决方案是 - 不要自己做任何事情!
您现在是否有包含此信息的 API?http://www.dnd5eapi.co/
为什么不交换端点的字符串 - 使用 Rest API 加载您需要的所有信息。
作为Aid法术的示例,您将查找http://dnd5eapi.co/api/spells/?name=Aid返回的端点:
"url": "http://www.dnd5eapi.co/api/spells/3"
当您访问该端点时,您可以获得您的法术名称和描述(以及更多)
{
_id: "5a52bc3a559f00418e532f2f",
index: 3,
name: "Aid",
desc: [
"Your spell bolsters your allies with toughness and resolve. Choose up to three creatures within range. Each target’s hit point maximum and current hit points increase by 5 for the duration."
],
...
}
添加回答
举报