2015-04-04 3 views
0

людям .. Я уже искал похожие проблемы и не нашел ничего похожего на мое. Я получаю «Список не может быть разрешен к типу» после того, как бросать исключения в строкеСписок не может быть разрешен к типу

else 
    throw new ExceptionLogicMalformedSignal(c, "Invalid character!"); 

внутри метода fromString(char c). Что я сделал неправильно в коде? Почему это происходит с методом не-списка? Заранее спасибо!

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; 
    } 

} 
+0

Где находится стек? Вы чистили и перекомпилировали? Это пахнет устаревшим кодом. – mttdbrd

+1

Вы используете Eclipse? –

+0

Это слишком круто, @pbabcdefp. Импорт. – mttdbrd

ответ

1
List cannot be resolved to a type 

ошибка компилятор. Вы не получите его «после выброса исключения». Вы получаете его при составлении строки кода, который использует List.

Вам нужно

import java.util.List; 

Несмотря на то, что вы в курсе, очевидно, что оно не существует.

Смежные вопросы