java - 如何将数组发送到数组列表?

标签 java arrays arraylist

我在创建数组或对象(具有多个字段)并将其发送到数组列表时遇到问题。任何帮助将不胜感激。我花了几个小时浏览 YouTube 上每个包含“对象”和“数组列表”一词的视频,但未能找到太多帮助。

程序需要提示用户选择一个选项(1. AddItem),然后提示用户输入名称和格式(dvd、vhs),并将多个对象与这些变量一起保存在数组列表中。我要么继续将其保存在内存中的位置返回给我,要么创建一个大对象而不是多个对象。

图书馆:

import java.util.Scanner;
import java.util.ArrayList;

public class Library {

    static ArrayList<Object> items = new ArrayList<Object>();
    static int menuOption;
    static Scanner scan = new Scanner(System.in);

    public static void main(String args[]) {
        String title, format;
        boolean right = false;

        do{
            displayMenu();
            if (menuOption == 1){
                System.out.println("Enter Title: ");
                title = scan.next();
                System.out.println("Enter format: ");
                format = scan.next();
                addNewItem(title, format);
            } else {System.out.println(items);

            }
        } while (!right);
    }

    static int displayMenu(){


        System.out.println("Menu: ");
        System.out.println("1. Add New Item");
        menuOption = scan.nextInt();

        return menuOption;
    }

    static void addNewItem(String title, String format){
        MediaItem b = new MediaItem();
        b.setTitle(title);
        b.setFormat(format);
        items.add(b);

    }
}

媒体项目:

public class MediaItem {

    String title;
    String format;

    MediaItem(){
        title = null;
        format = null
    }
    MediaItem(String title, String format){
        title = new String();
        format = new String();
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getFormat() {
        return format;
    }
    public void setFormat(String format) {
        this.format = format;
    }
}

最佳答案

如果您满足以下条件,程序将运行:

1 - 更改线路

static ArrayList<Object> items = new ArrayList<Object>();

static ArrayList<MediaItem> items = new ArrayList<MediaItem>();

2 - 更改线路

System.out.println( items );

for ( MediaItem mi : items )
{
    System.out.println( mi.getTitle() + ", " + mi.getFormat() );
}

3 - 插入“;”在行尾

format = null

我在这里做了,并且成功了。

关于java - 如何将数组发送到数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22215045/

相关文章:

Java 1.7 更新 45 - 无法运行未签名的 jar

java - Spring Boot 和 Hibernate - x 实例的标识符已更改为 null

javascript - 无法在 forEach 中分配正确的数组值

php - 将元素添加到数组的最后一个元素

java - 在 Android 中使用 openCSV 导出 CSV

java - 从数组列表中提取组合字符串

java - 我应该添加多少个 jar 才能使应用程序正常运行?

java - 查找两个大整数的 SHA-1 哈希值并将其作为字符串返回的正确方法

c++ - 从 ‘const char*’ 到 ‘char’ 类错误的无效转换

java - ArrayList 对象在 java android 的 ListView 上返回一行