如何使用List <string>作为参数

时间:2016-12-30 10:18:31

标签: java android arraylist firebase firebase-realtime-database

我正在使用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 expectedunexpected token。我错过了什么或做错了什么?已经感谢您阅读本文!

编辑:如果我想用字符串传递布尔值,那么使用List<String>的总白痴想法......虽然不知道要使用什么。

3 个答案:

答案 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 例如