JAVA - 添加到arrayList一个字符串

Posted

技术标签:

【中文标题】JAVA - 添加到arrayList一个字符串【英文标题】:JAVA - Add to arrayList a String 【发布时间】:2013-10-27 15:18:23 【问题描述】:

我正在尝试将来自用户输入的字符串发送到 ArrayList:

private static void adicionarReserva() 
    Scanner adiciona = new Scanner(System.in);
    System.out.println("Numero da pista: ");
        int nPista = adiciona.nextInt();
    System.out.println("Numero de jogadores: ");
        int nJogadores = adiciona.nextInt();
    System.out.println("Data Inicio: ");
        String data_inicio = adiciona.next();

    Reservas reserva = new Reservas(nPista, data_inicio);
    ArrayList<Jogadores> nome_jogador = new ArrayList(); 

    for (int i=1;i<=nJogadores;i++) 
        System.out.println("Nome Jogador: ");
        String nome = adiciona.next();
        nome_jogador.add(nome);
    

    reserva.addJogadores(nome_jogador);


在我的班级:Reservas,我有这个:

public void addJogadores(Jogadores lista_jogadores) 
    this.lista_jogadores.add(lista_jogadores);

但我有这个错误:

nome_jogador.add(nome);

ArrayList 类型中的方法 add(Jogadores) 不适用于参数 (String)

还有这个:

reserva.addJogadores(nome_jogador);

Reservas 类型中的 addJogadores(Jogadores) 方法不适用于参数 (ArrayList)

谁能帮帮我?

【问题讨论】:

【参考方案1】:

这是一个非常有意义的错误。

这是你的ArrayList

ArrayList<Jogadores> nome_jogador = new ArrayList(); 
          ↑

你想插入什么?一个String,但它应该有Jogadores

现在看看你的addJogadores 方法签名:

public void addJogadores(Jogadores lista_jogadores)
                         ↑

它接受Jogadoers 对象而不是ArrayList

【讨论】:

【参考方案2】:

你必须传递一个类Jogadores的实例,如果Jogadores有一个接受String的构造函数,那么:

nome_jogador.add(new Jogadores(nome));

【讨论】:

【参考方案3】:
ArrayList<Jogadores> nome_jogador = new ArrayList();

您只能添加作为 Jogadores 实例的对象,并且因为您试图添加 String(这显然不是 Jogadores 的实例)它会给您一个错误。

【讨论】:

【参考方案4】:
private static void adicionarReserva() 
    Scanner adiciona = new Scanner(System.in);
    System.out.println("Numero da pista: ");
        int nPista = adiciona.nextInt();
    System.out.println("Numero de jogadores: ");
        int nJogadores = adiciona.nextInt();
    System.out.println("Data Inicio: ");
        String data_inicio = adiciona.next();

    Reservas reserva = new Reservas(nPista, data_inicio);
    ArrayList<Jogadores> nome_jogador = new ArrayList(); 

    for (int i=1;i<=nJogadores;i++) 
        System.out.println("Nome Jogador: ");
        String nome = adiciona.next();
        nome_jogador.add(new Jogadores(nome));
    

    reserva.addJogadores(nome_jogador);


在您的班级中称为:Reservas

public void addJogadores(ArrayList<Jogadores> lista_jogadores) 
    this.lista_jogadores.addAll(lista_jogadores);

【讨论】:

以上是关于JAVA - 添加到arrayList一个字符串的主要内容,如果未能解决你的问题,请参考以下文章

Java ArrayList clear() 函数

将对象添加到 ArrayList<String>

如何在 Java 中将对象添加到 ArrayList

Java - 删除 ArrayList 中的重复项

如何在java中将对象添加到ArrayList中

JAVA集合 - ArrayList