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;