首页 文章

在switch语句中使用ArrayList的类

提问于
浏览
-2

我正在尝试使用类来表示输入到数组列表中的数据 . 输入的数据包含一个字符串,E30,另一个字符串,1985,然后是swithc语句中包含的变量,ratingE30 .

我无法让 class 与arraylist合作 . 如果我把字符串留下没有引号我得到一个无法解决符号错误但它们不起作用,因为它说字符串与我的类数据不兼容 .

任何帮助,将不胜感激 .

ArrayList位于public static void main(String [] args):

ArrayList<Data> arrayListToFile = new ArrayList<Data>();
arrayListToFile.add(new Data[]{"E30",1985,ratingE30});

位于Main中的ArrayList的数据类:

private static class Data{
    String Model;
    String ModelYear;

    Data(String Model,String ModelYear){
        this.Model=Model;
        this.ModelYear=ModelYear;

    }
}

2 回答

  • 0

    我想你想要的

    arrayListToFile.add(new Data("E30",1985,ratingE30));
    

    虽然只有在为 Data 类添加适当的构造函数时才会有效 .

  • 0

    首先,你说你正在尝试使用该类来表示数据,它有两个字段,其中是评级字段(或者你想对ratingE30做什么?)?也许你想要的是这样的

    private static class Data{
        String model; 
        String modelYear;
        String rating; // I declared it as String because i have no idea what it contains
    
        Data(String model, String modelYear, String rating){
            this.model = model;
            this.modelYear = modelYear;
            this.rating = rating;
    
        }
    }
    

    其次,如果您想拥有一个Data对象列表,您应该将Data对象添加到列表中!例如(使用上面的扩展类):

    ArrayList<Data> arrayListToFile = new ArrayList<Data>();
    arrayListToFile.add(new Data("E30", "1985", ratingE30);
    

    看看你的代码我不确定你对Data []数组有什么要求,但是你初始化它的方式也是错误的,Data []数组就像ArrayList需要Data对象一样,但你传递的只是一个String,一个int,我不确定最后一个 .

    new Data[] {new Data("E30", "1985", ratingE30)};
    

    如果您不确定objects / arrays如何阅读更多关于它们的信息

相关问题