有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java<Part>无法解析为类型(是的,我已导入List和ArrayList)

很抱歉用另一个“无法解析为一种类型”来打扰好人,但我很困惑。我在用java编程,正如我所说,我检查了我的导入和我的Part类,但我有限的编程知识似乎正在显现出来。 请帮助我确定错误的原因

在“问题”选项卡下,我有两个问题

无法将ArrayList解析为类型
无法将零件解析为类型

我想最后一个导致了第一个

我的编译器给了我

Caused by: java.lang.Error: Unresolved compilation problems: ArrayList cannot be resolved to a type Parts cannot be resolved to a type at PartsBox.View.PartsBoxButtonHandlers.addImportFile_handler(PartsBoxButtonHandlers.java:51) ... 62 more

底部有注释标签的区域是eclipse告诉我我做错了什么的地方

package PartsBox.View;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;

import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.TableView;
import javafx.stage.FileChooser;
import javafx.stage.Stage;

public class PartsBoxButtonHandlers {

List<String> headerItems;
List<ArrayList<String>> itemTable;
List<Part> parts;

@FXML
private Button addImportFile_button;
@FXML
private Button saveLib_button;
@FXML
private Button addManual_button;
@FXML
private Button clearTable_button;
@FXML
private Button exportMissing_button;
@FXML
private Button exportBOM_button;
@FXML
private Button clearBOM_button;
@FXML
private TableView<Part> libraryTable;



public void addImportFile_handler(){

    FileChooser chooser = new FileChooser();
    chooser.setTitle("Open Files");
    List<File> files = chooser.showOpenMultipleDialog(new Stage());

    // ----------------------------------------

        parts = new ArrayList<Parts>();

    // ----------------------------------------

这是部分课程

package PartsBox.View;

import java.util.ArrayList;

public class Part {

private ArrayList<String> part;

public Part(int headerSize){
    part = new ArrayList<String>();
    for(int j = 0 ; j < headerSize; j++){
        part.add("");
         }
     }

     public ArrayList<String> getPartListArray(){
         return part;
     }

     public void appendHeaderSpace(){
        part.add("");
     }
     public void insertPartDetail(String s, int n){
        part.set(n, s);
     }

}

共 (2) 个答案

  1. # 1 楼答案

    从类名部分中删除。应该说

    parts = new ArrayList<Part>();
    

    不是

    parts = new ArrayList<Parts>();
    

    如果您使用IDE,它将对您有所帮助

  2. # 2 楼答案

    您的类名是Part,而不是Parts

    所以这里把它改成Part

     part = new ArrayList<Part>();
    

    您还将ArrayList声明为part,而不是parts。也相应地改变这一点