我想在类ArrayTest
中创建一个方法并对arraylist
对象进行排序。
但是出了点问题:
import java.util.ArrayList;
import java.util.Collections;
public class ArrayTest{
public static ArrayList<String> getSortedArrayList(String args[]){
ArrayList<String> sort = new ArrayList<String>();
Collections.sort(sort);
return sort;
}
}
语法错误
Tester .java:20:错误:类ArrayTest中的方法getSortedArrayList无法应用于giventypes;System.out.println(ArrayTest.getSortedArrayList(&#34; Mark&#34;,&#34; Andrew&#34;,&#34; Beth&#34;));;
^
必需:String []
found:String,String,String
原因:实际和正式的参数列表长度不同
1错误
答案 0 :(得分:0)
您的计划正在执行此操作:
ArrayList<String> sort = new ArrayList<String>();
Collections.sort(sort);
return sort;
逐行看一下:
ArrayList<String>
(没有元素)ArrayList<String>
(没有元素)ArrayList<String>
(没有元素)您似乎希望对String[] args
进行排序,因此您需要在ArrayList<String>
中包含这些元素。
答案 1 :(得分:0)
将通话更改为
ArrayTest.getSortedArrayList(new String[]{ "Mark", "Andrew", "Beth" });
或者更好的是,更改方法签名以使用变量参数:
public static ArrayList<String> getSortedArrayList(String ... args)
因此args
将被视为String[]
(即您可以使用.length
和[]
),您可以使用ArrayTest.getSortedArrayList("Mark", "Andrew", "Beth")