2016-12-30 21 views
-3

我编码一个Android应用程序与Firebase,并希望写一个对象到数据库:如何使用列表<String>作为参数

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>如果我想传递布尔值与字符串...不知道什么使用,而不是。

+0

你可以尝试* java.util.Arrays.asList(.. )* https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html –

+0

尝试使用此构造函数 - 1)public newEvent(ArrayList whoEv,String whereEv,String whenEv,String whatEv ){} 2)newEvent test = new newEvent(new ArrayList (“derp”,“max”),“Amsterdam”, – Arjit

+0

@Arjit它看起来就是这样的解决方案,即使我得到一个错误:'无法解析构造函数'ArrayList(java.lang.String,java .lang.String)' –

回答

1

固定它: newEvent test = new newEvent("Meppel", "31/12/2016", "Oudjaarsdag", new String[]{"derp", "Sir", "max"});

而在类如: `公共类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; 
} 
+0

这是纯粹的调试和测试,这就是为什么它如此硬编码。 –

0

列表是一个接口,你不能直接使用它与一个实现类。你可以使用实现List接口的默认jdk提供的类之一。例如ArrayList,LinkedList。

通过这个链接List Implementations,你会明白你如何传递一个字符串列表作为参数。

+0

您能解释一下吗?我不知道如何编写参数:'new newEvent([“derp”,“max”],...' –

0

它是Java吗?可能是你需要在列表 ... 之前加上“新”字并且别忘了列表是一个接口类型,所以这里需要使用一些继承类。 ArrayList的例如

+0

不幸的是,使用新的关键字会带来更多的错误 –

相关问题