我正在使用Firebase对Android应用进行编码,并希望将对象写入数据库:
public class newEvent {
public String whoEv;
public String whereEv;
public String whenEv;
public String whatEv;
public newEvent() {}
public newEvent(String whoEv, String whereEv, String whenEv, String whatEv) {
this.whoEv = whoEv;
this.whereEv = whereEv;
this.whenEv = whenEv;
this.whatEv = whatEv;
}
}
这很有效,但正如你所看到的那样,它们都是“正义”的字符串。我想要的是让第一个参数成为List,Firebase不允许String []上传/写入。
原因是能够将更多名称传递给whoEv
,并将其分隔为Strings
/ Objects
。 (如果他们来的话,给每个名字boolean
)。
现在到了确切的问题:
public newEvent(List<String> whoEv, String whereEv, String whenEv, String whatEv) {
this.whoEv = whoEv;
this.whereEv = whereEv;
this.whenEv = whenEv;
this.whatEv = whatEv;
}
当我使用它时,我不知道如何编写正确的代码:
newEvent test = new newEvent(List<String>("derp","max"), "Amsterdam", "31/12/2016", "NewYears Eve");
以上显然不起作用。 Expression expected
或unexpected token
。我错过了什么或做错了什么?已经感谢您阅读本文!
编辑:如果我想用字符串传递布尔值,那么使用List<String>
的总白痴想法......虽然不知道要使用什么。
答案 0 :(得分:1)
修正了它:
newEvent test = new newEvent("Meppel", "31/12/2016", "Oudjaarsdag", new String[]{"derp", "Sir", "max"});
在课堂上:
`public class newEvent {
public ArrayList<String> wie;
public String waar;
public String wanneer;
public String wat;
public newEvent() {}
public newEvent(String waar, String wanneer, String wat, String... wie) {
this.wie = new ArrayList<>(Arrays.asList(wie));
this.waar = waar;
this.wanneer = wanneer;
this.wat = wat;
}
答案 1 :(得分:0)
List是一个接口,您不能直接在实现类中使用它。您可以使用默认的jdk提供的类之一来实现List接口。示例ArrayList,LinkedList。
浏览List Implementations上的此链接,您将了解如何将字符串列表作为参数传递。
答案 2 :(得分:0)
是Java吗?也许你需要添加“#34; new&#34;在列表之前... 并且不要忘记 List 是一种接口类型,所以这里需要使用一些继承类。 ArrayList 例如