错误:类型java.lang.Object的方法add(java.lang.String)未定义
不知道我为什么会犯这个错误。使用ArrayList并按字母顺序将单词排序到适当的ArrayList中。如果有人能帮助我理解为什么我会出错,以及如何修复它,那就太好了错误:类型java.lang.Object的方法add(java.lang.String)未定义,java,arraylist,compiler-errors,Java,Arraylist,Compiler Errors,不知道我为什么会犯这个错误。使用ArrayList并按字母顺序将单词排序到适当的ArrayList中。如果有人能帮助我理解为什么我会出错,以及如何修复它,那就太好了 import java.util.*; public class Sort { public static ArrayList<Object> sortByFirstLetter( List<String> words) { ArrayList<Object> bucke
import java.util.*;
public class Sort {
public static ArrayList<Object> sortByFirstLetter( List<String> words) {
ArrayList<Object> bucket = new ArrayList<Object>();
for( int i = 0; i < 26; i++ ) {
ArrayList<String> letter = new ArrayList<String>();
bucket.add(letter);
}
for( String word : words ) {
int index = (int)(word.toLowerCase().charAt(0)) - 97; //get a number 0-25 for index; 97 is unicode for lwrcse "a"
System.out.println(index);
bucket.get(index).add(str); //THIS LINE GIVES ERROR
}
return bucket;
}
public static void main(String[] args) {
List<String> words = Arrays.asList("alex", "andy", "kevin");
sortByFirstLetter( words );
}
import java.util.*;
公共类排序{
公共静态数组列表sortByFirstLetter(列表字){
ArrayList bucket=新的ArrayList();
对于(int i=0;i<26;i++){
ArrayList字母=新的ArrayList();
添加(字母);
}
for(字符串字:字){
int index=(int)(word.toLowerCase().charAt(0))-97;//获取索引的数字0-25;97是lwrcse“a”的unicode
系统输出打印项次(索引);
bucket.get(index.add(str);//此行给出错误
}
返回铲斗;
}
公共静态void main(字符串[]args){
List words=array.asList(“alex”、“andy”、“kevin”);
sortByFirstLetter(字);
}
}看起来bucket应该是
列表,而不是列表。现在还不清楚为什么您首先将其列为对象列表。您打算添加什么?您当前正试图“添加”到对象中,这是毫无意义的。是否尝试通过写入列表而不是列表来添加到ArrayList中的ArrayList?