我如何让这 2 个错误消失? in 和 valueOf 方法 - Java
How do I get those 2 errors to go away? in and valueOf methods - Java
由于 Eclipse IDE "said so." 我会指出这些错误,所以我在处理这 2 个小错误时遇到了一些困难。老实说,我不知道如何深入解释那些错误。我认为它们很简单,我无法让错误消失。
ScheduledExecutorService timer = Executors.newScheduledThreadPool (1);
timer.scheduleAtFixedRate(new Runnable()
{
public void run()
{
if (lists. size ()> 0)
{
boolean lighted = Lamp.valueOf(Road.this.name).isLighted(); //According to Eclipse, "The method valueOf(Class<T>, String) in the type Enum<Lamp> is not applicable for the arguments (String)"
if (lighted)
{
System.out.println(lists.remove(0) + "is traversing!");
}
}
}
}, 1,1, TimeUnit. SECONDS);
我的不同 class 我的包裹中还有另一个错误
public Lamp Blackout()
{
this.lighted = false;
if (opposite != null)
{
Lamp.valueOf(opposite).in.Blackout(); //in cannot be resolved or is not a field. It suggests me to create enum constant, which I did and it wouldn't work either.
}
Lamp nextLamp = null;
if (next != null)
{
nextLamp = Lamp.valueOf(next);
System.out.println("Green" + name () + "--------> switch to" + next);
nextLamp.light();
}
return nextLamp;
}
你的第一个错误
Lamp.valueOf(Road.this.name).isLighted();
//According to Eclipse, "The method valueOf(Class, String) in the
type Enum is not applicable for the arguments (String)"
方法 Lamp.valueOf() 需要两个参数,第一个是 class 参数,然后是一个字符串参数。您刚刚在方法中传递了一个 String 参数,这就是 eclipse 抛出错误的原因。
你第二个错误
Lamp.valueOf(opposite).in.Blackout();
//in cannot be resolved or is not a field.
我觉得语法不正确。彻底检查你的代码。在您的代码中,方法被链接起来。 in
不应该在那里。或者它可能是一个方法 in()
在黑暗中拍摄,因为您没有公开所有相关代码,但您可以尝试在此处添加 valueOf
缺少的参数:
boolean lighted = Lamp.valueOf(Lamp.class, Road.this.name).isLighted();
并在此处调用 in()
方法 :
Lamp.valueOf(Lamp.class, opposite).in(Blackout());
请关注Java code style conventions;方法名称应以小写字母开头,因此中断方法签名应如下所示:
public Lamp blackout()
没有看到 Lamp
enum
的代码,就不可能知道后一种情况的确切问题是什么。
由于 Eclipse IDE "said so." 我会指出这些错误,所以我在处理这 2 个小错误时遇到了一些困难。老实说,我不知道如何深入解释那些错误。我认为它们很简单,我无法让错误消失。
ScheduledExecutorService timer = Executors.newScheduledThreadPool (1);
timer.scheduleAtFixedRate(new Runnable()
{
public void run()
{
if (lists. size ()> 0)
{
boolean lighted = Lamp.valueOf(Road.this.name).isLighted(); //According to Eclipse, "The method valueOf(Class<T>, String) in the type Enum<Lamp> is not applicable for the arguments (String)"
if (lighted)
{
System.out.println(lists.remove(0) + "is traversing!");
}
}
}
}, 1,1, TimeUnit. SECONDS);
我的不同 class 我的包裹中还有另一个错误
public Lamp Blackout()
{
this.lighted = false;
if (opposite != null)
{
Lamp.valueOf(opposite).in.Blackout(); //in cannot be resolved or is not a field. It suggests me to create enum constant, which I did and it wouldn't work either.
}
Lamp nextLamp = null;
if (next != null)
{
nextLamp = Lamp.valueOf(next);
System.out.println("Green" + name () + "--------> switch to" + next);
nextLamp.light();
}
return nextLamp;
}
你的第一个错误
Lamp.valueOf(Road.this.name).isLighted();
//According to Eclipse, "The method valueOf(Class, String) in the type Enum is not applicable for the arguments (String)"
方法 Lamp.valueOf() 需要两个参数,第一个是 class 参数,然后是一个字符串参数。您刚刚在方法中传递了一个 String 参数,这就是 eclipse 抛出错误的原因。
你第二个错误
Lamp.valueOf(opposite).in.Blackout();
//in cannot be resolved or is not a field.
我觉得语法不正确。彻底检查你的代码。在您的代码中,方法被链接起来。 in
不应该在那里。或者它可能是一个方法 in()
在黑暗中拍摄,因为您没有公开所有相关代码,但您可以尝试在此处添加 valueOf
缺少的参数:
boolean lighted = Lamp.valueOf(Lamp.class, Road.this.name).isLighted();
并在此处调用 in()
方法 :
Lamp.valueOf(Lamp.class, opposite).in(Blackout());
请关注Java code style conventions;方法名称应以小写字母开头,因此中断方法签名应如下所示:
public Lamp blackout()
没有看到 Lamp
enum
的代码,就不可能知道后一种情况的确切问题是什么。