我有一个类有这样的方法:
public ArrayList<Integer> myNumbers() {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(5);
numbers.add(11);
numbers.add(3);
return(numbers);
}
我如何在另一个类中调用此方法?
我有一个类有这样的方法:
public ArrayList<Integer> myNumbers() {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(5);
numbers.add(11);
numbers.add(3);
return(numbers);
}
我如何在另一个类中调用此方法?
1.如果要调用该方法的类在同一个包中,则创建该类的实例并调用该方法。
2.使用Composition
3.最好有一个Generic ArrayList
like ArrayList<Integer>
etc...
例如:
public class Test{
public ArrayList<Integer> myNumbers() {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(5);
numbers.add(11);
numbers.add(3);
return(numbers);
}
}
public class T{
public static void main(String[] args){
Test t = new Test();
ArrayList<Integer> arr = t.myNumbers(); // You can catch the returned integer arraylist into an arraylist.
}
}
假设你有这样的事情:
public class MyFirstClass {
...
public ArrayList<Integer> myNumbers() {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(5);
numbers.add(11);
numbers.add(3);
return(numbers);
}
...
}
您可以像这样调用该方法:
public class MySecondClass {
...
MyFirstClass m1 = new MyFirstClass();
List<Integer> myList = m1.myNumbers();
...
}
由于您尝试调用的方法不是static,因此您必须创建提供此方法的类的实例。创建实例后,您将可以访问该方法。
请注意,在上面的代码示例中,我使用了这一行:List<Integer> myList = m1.myNumbers();
. 这可以通过以下方式进行更改:ArrayList<Integer> myList = m1.myNumbers();
。但是,通常建议对接口进行编程,而不是对具体实现进行编程,因此我对您使用的方法的建议是执行以下操作:
public List<Integer> myNumbers() {
List<Integer> numbers = new ArrayList<Integer>();
numbers.add(5);
numbers.add(11);
numbers.add(3);
return(numbers);
}
这将允许您将该列表的内容分配给实现该List
接口的任何内容。
您需要实例化它包含的类,或使方法静态。
因此,如果它包含在 Foo 类中:
Foo x = new Foo();
List<Integer> stuff = x.myNumbers();
或者简写:
List<Integer> stuff = new Foo().myNumbers();
或者如果你让它像这样静态:
public static List<Integer> myNumbers() {
List<Integer> numbers = new ArrayList<Integer>();
numbers.add(5);
numbers.add(11);
numbers.add(3);
return(numbers);
}
你可以这样称呼它:
List<Integer> stuff = Foo.myNumbers();
List<Integer> numbers = new TheClassName().myNumbers();
如果 Foo 是包含此方法的类
class Foo{
public ArrayList<Integer> myNumbers() {
//code code code
}
}
然后
new Foo().myNumbers();
MyClass obj = new MyClass();
ArrayList<Integer> numbers = obj.myNumbers();
您可以在其他课程上使用
public ArrayList<Integer> myNumbers = new Foo().myNumbers();
或者
Foo myClass = new Foo();
public ArrayList<Integer> myNumbers = myclass.myNumbers();
可以调用您的方法,并且可以像这样存储arraylist
YourClassName class = new YourClassName();
Arraylist<Integer> numbers = class.numbers();
这也允许在此类中进一步操作数组列表