为什么boolean在下面的代码中没有采用true或false

时间:2015-03-21 19:55:11

标签: java android boolean-logic

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }


    ConnectivityManager conMgr = (ConnectivityManager)
            getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo =
            conMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    boolean isMobileConn = netInfo.isConnected();
    if(isMobileConn==true){}

}

我尝试了上面的代码,但出于某种原因isMobileConn尽管是一个布尔值,但是我将错误视为未知类。但是当我尝试这个时

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    ConnectivityManager conMgr = (ConnectivityManager)
            getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo =
            conMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    boolean isMobileConn = netInfo.isConnected()==true;

}

当我将值true赋给netInfo.isConnected()时,它没有给我任何错误。这意味着它在这种情况下是真或假,但在前一种情况下不是。但这里的主要目标是检查对于一个特定的条件,所以我需要第一个代码工作...我试图保持fianl,公共和所有其他的东西,看看它是否接受真或假的值,但没有一个工作..请帮助

1 个答案:

答案 0 :(得分:1)

if条件这样的代码需要在方法体中。例如,在onCreate()方法中。

您可以在类主体中使用初始化进行成员变量声明。这就是为什么后者在语法上是正确的。