Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将对象(字符串、字符串、int、int)添加到ArrayList_Java_Android_String_Arraylist - Fatal编程技术网

Java 将对象(字符串、字符串、int、int)添加到ArrayList

Java 将对象(字符串、字符串、int、int)添加到ArrayList,java,android,string,arraylist,Java,Android,String,Arraylist,我上了这两门课。下面的一个应该有一个电影的ArrayList import java.util.ArrayList ; import android.app.Activity ; import android.os.Bundle ; public class UIDActivity extends Activity { private static ArrayList<Movie> movieList; public void onCreate(Bundle s

我上了这两门课。下面的一个应该有一个电影的ArrayList

import java.util.ArrayList ;
import android.app.Activity ;
import android.os.Bundle ;

public class UIDActivity extends Activity {

    private static ArrayList<Movie> movieList;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

    }

    public static void main(String String, int 
    int args[]


        ) {     

movieList = new ArrayList<Movie>();
        movie1 = new Movie("Fight Club", "David Fincher", "1999", "3");

        movieList.add(movie1);

    }

    public String getTitle() {
        return title;

    }

    public String getDirector() {
        return director;

    }

    public int getYear() {
        return year;
    }

    public int getRating() {
        return rating;
    }
}
不知什么原因,我想不出我一直忘记的是什么简单的事情?!?!
Eclipse想将我的公共电影更改为四倍字符串。。。那里没有错误,但rest也不起作用。

据我所知,如果创建静态变量,必须在该点对其进行初始化

试试这个:

private static ArrayList<Movie> movieList = new ArrayList<Movie>();
private static ArrayList movieList=new ArrayList();

顺便说一句,UIDActivity的getters不应该被移动到电影类中,或者包含你想要的电影的索引吗?

据我所知,如果你创建一个静态变量,你必须在那一点上初始化它

试试这个:

private static ArrayList<Movie> movieList = new ArrayList<Movie>();
private static ArrayList movieList=new ArrayList();

顺便说一句,UIDActivity的getter不应该被移动到电影类中,或者包含你想要的电影的索引吗?

问题是,你试图使用一个构造函数,它包含两个
字符串和两个
整数,但却传递了构造函数4个字符串

movie类中构造函数的方法签名为

public Movie(String deTitle, String deDirector, int hetYear, int deRating)
您尝试调用构造函数的方式不正确

这:

应该是:

movie1 = new Movie("Fight Club", "David Fincher", 1999, 3);

问题是您试图使用一个构造函数,该构造函数接受两个
字符串和两个
整数,但将构造函数传递为4个字符串

movie类中构造函数的方法签名为

public Movie(String deTitle, String deDirector, int hetYear, int deRating)
您尝试调用构造函数的方式不正确

这:

应该是:

movie1 = new Movie("Fight Club", "David Fincher", 1999, 3);

您只需要在电影类中有setter/getter,此外,还要确保类变量声明为私有的,并且只能通过适当的getter访问

公共类电影实现了可序列化{

private String title;
private String director;
private int year;
private int rating;

public Movie(String deTitle, String deDirector, int hetYear, int deRating) {
    title = deTitle;
    director = deDirector;
    year = hetYear;
    rating = deRating;
}

public void setDirector(String director) {
    this.director = director;
}

public String getDirector() {
    return director;
}

...
}


另外,我将使用list接口定义列表,并将实例化为ArrayList。

您需要在Movie类中只使用setter/getter,此外,还要确保类变量声明为私有,并且只能通过适当的getter访问

公共类电影实现了可序列化{

private String title;
private String director;
private int year;
private int rating;

public Movie(String deTitle, String deDirector, int hetYear, int deRating) {
    title = deTitle;
    director = deDirector;
    year = hetYear;
    rating = deRating;
}

public void setDirector(String director) {
    this.director = director;
}

public String getDirector() {
    return director;
}

...
}


另外,我将使用list接口定义列表,并将实例化为ArrayList。

您的电影构造函数需要两个String对象和两个int-

public Movie(String deTitle, String deDirector, int hetYear, int deRating) 
但是您正在传递四个字符串对象-

 movie1 = new Movie("Fight Club", "David Fincher", "1999", "3");
为什么要尝试将四个字符串值传递给Movie构造函数,而不是构造函数所期望的两个字符串和两个int?通过构造器,您应该按照以下方式创建电影对象-

 movie1 = new Movie("Fight Club", "David Fincher", 1999, 3);

您的电影构造函数需要两个字符串对象和两个int-

public Movie(String deTitle, String deDirector, int hetYear, int deRating) 
但是您正在传递四个字符串对象-

 movie1 = new Movie("Fight Club", "David Fincher", "1999", "3");
为什么要尝试将四个字符串值传递给Movie构造函数,而不是构造函数所期望的两个字符串和两个int?通过构造器,您应该按照以下方式创建电影对象-

 movie1 = new Movie("Fight Club", "David Fincher", 1999, 3);


在重新格式化代码时,我注意到您的主声明是
publicstaticvoidmain(stringstring,int-int-args[])
,这是一个输入错误(2 int+带有额外int-args[]参数的奇怪签名)?和
字符串
?该代码无法编译。你能发布实际的代码吗?请发布准确的错误消息猜错了,但尝试了所有可能的组合,哈哈。我的电影课按原样整理好了。。至少我希望那是完美的。。但是Eclipse在我想用ArrayList做的所有事情上不断地给出各种各样的错误。当我处理了那里的错误后,.add突然不起作用了:(JUG已经回答了你的问题。@mattb第二个int给出了标记“int”的语法错误,VariableDeclaratorId无效,我的getTitle gives无法重写Activity中的最终方法,而我的其他Getter则可以接受返回值:无法解析为变量。我知道我忽略了一些内容,但几天前做了同样的事情,工作得很好。老实说,这应该不难。在重新格式化代码我注意到您的主声明是
publicstaticvoidmain(stringstring,int-args[])
,这是一个输入错误(2 int+带有额外int-args[]参数的奇怪签名)和
String-String
?该代码无法编译。你能发布实际代码吗。请发布准确的错误消息猜错了,但在那里尝试了所有可能的组合lol。让我的电影类按原样整理出来。至少我希望这是完美的。但是Eclipse一直在给出我想要处理的所有类型的错误ArrayList。当我处理了那里的错误后,.add突然不起作用了:(JUG已经回答了你的问题。@mattb第二个int给出了标记“int”的语法错误,VariableDeclaratorId无效,我的getTitle gives无法重写Activity中的最终方法,而我的其他Getter则可以接受返回值:无法解析为变量。我知道我忽略了一些内容,但几天前做了同样的事情,工作得很好。老实说,这应该不难。嗯?可以使用静态初始值设定项块而不是在声明中初始化它们。嗯…我不知道。很高兴知道。嗯?你可以使用静态初始值设定项块而不是在声明中初始化它们。嗯…我不知道。很高兴知道。谢谢你。我有时可能是个白痴。但我仍然会在公开声明中出错tic void main和我的getters谢谢你我可以时不时成为一个白痴但我仍然在我的公共静态void main和getters中出错,现在我把getters放回电影课。现在我的私人静态ArrayList movielist出现了问题;;突然变红了:s就像;behind(R.layout.main)…我现在明白为什么我不能