Java 无法将列表解析为类型

Java 无法将列表解析为类型,java,Java,伙计们。。我已经查找过类似的问题,没有发现任何与我类似的问题。在行中抛出异常后,我得到“列表无法解析为类型” else throw new ExceptionLogicMalformedSignal(c, "Invalid character!"); 在fromString(charc)方法中。我在代码中做错了什么?为什么会发生在非列表方法上?提前谢谢 import java.util.LinkedList; import java.util.List; public enum S

伙计们。。我已经查找过类似的问题,没有发现任何与我类似的问题。在行中抛出异常后,我得到“列表无法解析为类型”

else
    throw new ExceptionLogicMalformedSignal(c, "Invalid character!");
fromString(charc)
方法中。我在代码中做错了什么?为什么会发生在非列表方法上?提前谢谢

import java.util.LinkedList;
import java.util.List;


public enum Signal {

    HI, LO, X;


    public Signal invert()
    {
        if(this == HI)
            return LO;
        else if(this == LO)
            return HI;
        else if(this == X)
            return X;

        return this;
    }

    public static Signal fromString(char c)
    {

        if(c == '1')
            return HI;
        else if(c == '0')
            return LO;
        else if(c == 'X')
            return X;
        else if(c == 'x')
            return X;
        else
            throw new ExceptionLogicMalformedSignal(c, "Invalid character!");

    }

    public List <Signal> fromString(String inps)
    {
        List<Signal> values = new LinkedList<Signal>();
        if(inps.equals("1"))
           values.add(HI);
        else if(inps.equals("0"))
            values.add(LO);
        else if(inps.equals("X"))
            values.add(X);
        else if(inps.equals("x"))
            values.add(X);
        else 
            throw new ExceptionLogicMalformedSignal(inps.charAt(0), "Invalid character!");

        return values;

    }

    @Override
    public String toString()
    {
        if(this == HI)
            return "1";
        else if(this == LO)
            return "0";
        else if(this == X)
            return "X";

        return "Error here!";
        }
    }



public class ExceptionLogicMalformedSignal extends RuntimeException {

    private char bad; //offending character 
    private String msg = "You entered an invalid character"; //the entire message you want to convey

    public ExceptionLogicMalformedSignal(char bad, String msg)
    {
        this.bad = bad;
        this.msg = msg;
    }

    @Override
    public String toString()
    {
        return msg;
    }

    public String getBad()
    {
        String value = Character.toString(this.bad);
        return value;
    }

    public String msg()
    {
        return msg;
    }

    public void setBad(String bad)
    {
        String value = Character.toString(this.bad);
        value = bad;
    }

    public void setMsg(String msg)
    {
        this.msg = msg;
    }

}
import java.util.LinkedList;
导入java.util.List;
公共枚举信号{
嗨,洛,X;
公共信号倒转
{
如果(this==HI)
返回LO;
else if(this==LO)
返回HI;
else if(this==X)
返回X;
归还这个;
}
来自字符串的公共静态信号(字符c)
{
如果(c=='1')
返回HI;
else如果(c=='0')
返回LO;
else如果(c='X')
返回X;
else如果(c='x')
返回X;
其他的
抛出新的ExceptionLogicMalformedSignal(c,“无效字符!”);
}
公共列表fromString(字符串inps)
{
列表值=新建LinkedList();
如果(输入等于(“1”))
值。添加(HI);
else if(输入等于(“0”))
值。添加(LO);
else如果(输入等于(“X”))
加上(X);
else如果(输入等于(“x”))
加上(X);
其他的
抛出新的ExceptionLogicMalformedSignal(inps.charAt(0),“无效字符!”);
返回值;
}
@凌驾
公共字符串toString()
{
如果(this==HI)
返回“1”;
else if(this==LO)
返回“0”;
else if(this==X)
返回“X”;
返回“此处出错!”;
}
}
公共类异常LogicMalformedSignal扩展运行时异常{
private char bad;//有问题的字符
private String msg=“您输入了一个无效字符”;//您要传达的整个消息
公共例外LOGICMALFormedSignal(字符错误,字符串消息)
{
这个坏=坏;
this.msg=msg;
}
@凌驾
公共字符串toString()
{
返回味精;
}
公共字符串getBad()
{
字符串值=Character.toString(this.bad);
返回值;
}
公共字符串msg()
{
返回味精;
}
公共无效收进栏(字符串错误)
{
字符串值=Character.toString(this.bad);
价值=坏;
}
公共void setMsg(字符串msg)
{
this.msg=msg;
}
}
是一个编译器错误。“在抛出异常后”不会得到它。当编译一行使用
列表的代码时,就会得到它。

你需要

import java.util.List;

不管你发布了什么,显然它不在那里。

stacktrace在哪里?你清理并重新编译了吗?这有股陈旧代码的味道。你在使用Eclipse吗?太棒了,@pbabcdefp。是的,我正在使用eclipse@pbabcdefpAlso,这是一个可怕的反模式:Java枚举是类。不要到处使用开关,而是给枚举一个构造函数,并给实例字段赋值。
import java.util.List;