【问题标题】:Cannot Find Symbol Error when creating an object创建对象时找不到符号错误
【发布时间】:2020-08-22 00:38:18
【问题描述】:

我正在创建一个包含类的 ArrayList 对象。但是,当我从 WordList() 类中调用方法时,它会显示“错误:找不到符号 obj.numWordsOfLength(2)”

import java.util.ArrayList;

public class WordList{

    public static void main(String []args){
        ArrayList obj = new ArrayList<WordList>();
        obj.add("bird");
        obj.add("wizard");
        obj.add("to");
        obj.numWordsOfLength(2);
     }


    private ArrayList<String> myList;

    public WordList(){
        myList = new ArrayList<String>();
    }

    public int numWordsOfLength(int len){
    //Code
    }

    public void removeWordsOfLength(int len){
    //Code
    }

 }

【问题讨论】:

  • obj 是一个列表,您只能对列表中的一项调用 numWordsOfLength。另外,您创建一个 WordList 列表并将 String 放入这不好,请将您的列表定义为 ArrayList&lt;WordList&gt; obj = new ArrayList&lt;&gt;();
  • @azro 这产生了一个全新的错误:“找不到适合 add(String) 的方法”以及 method Collection.add(WordList) is not applicable (argument mismatch; String cannot be converted to WordList)
  • 我知道,但是你的代码有很多错误,你我什至不知道你想做什么,因为你没有告诉我们

标签: java object arraylist constructor


【解决方案1】:

当您调用 obj.numWordsOfLength(2); 时,您是从 ArrayList(不存在)而不是您的 WordList 类中调用方法 numWordsOfLength

首先,您将 String 添加到 ArrayList,而不是 WordList 对象。

我认为您要实现的目标看起来更像这样:

public class WordList {
    private List<String> wordList = new ArrayList<>();

    public static void main(String[] args) {
        WordList wordList = new WordList();
        wordList.add("bird");
        wordList.add("wizard");
        wordList.add("to");
        wordList.numWordsOfLength(2);
    }

    public void add(String word) {
        wordList.add(word);
    }

    public int numWordsOfLength(int len) {
        //Code
    }

    public void removeWordsOfLength(int len) {
        //Code
    }
}

【讨论】:

    猜你喜欢
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    相关资源
    最近更新 更多