[英]boolean doesn't set to true in Java
我正在尝试更改不起作用的“stat”的状态
public class controller {
public static void main(String args[]){{
final AjaxR re = new AjaxR();
re.setMal("qw");
if (re.getMal() != null) {
re.setStat(true);
}
if(re.isStat()){
System.out.println("Hello");
}
}
public class AjaxR {
boolean stat;
String mal;
public boolean isStat() {
return stat;
}
public void setStat(final boolean stat) {
this.stat = stat;
}
public String getmal() {
return mal;
}
public void setMal(final String mal) {
this.mal = mal;
}
这里re.stat
没有设置为 true。 除非我在调试模式下手动强制执行re.setStat(true)
,否则它不会改变。
您的代码存在多个语法问题:
{
在您的主要方法标题之后;getMal()
是错误的情况,它与您在AjaxR
中的方法getmal()
不匹配;controller
类没有右括号;AjaxR
也没有AjaxR
大括号。 但是,当这些错误被修复后(我将把它作为练习留给您完成!),您的代码会按照您的预期运行 - 打印“Hello”并且stat
绝对设置为 true。
我将您的代码复制到 eclipse 中,并且能够轻松找到您的其余错误。 您没有正确数量的getmal()
括号和getmal()
括号,而且您将方法命名为getmal()
而不是getMal()
。 如果您使用合适的 IDE,可以轻松检测到所有这些拼写错误和错误。
插入正确数量的大括号并修复所有错别字后,以下代码有效并打印出Hello
:
public class controller {
public static void main(String args[]){
final AjaxR re = new AjaxR();
re.setMal("qw");
if (re.getMal() != null) {
re.setStat(true);
}
if(re.isStat()){
System.out.println("Hello");
}
}
}
public class AjaxR {
boolean stat;
String mal;
public boolean isStat() {
return stat;
}
public void setStat(final boolean stat) {
this.stat = stat;
}
public String getMal() {
return mal;
}
public void setMal(final String mal) {
this.mal = mal;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.