使用android eclipse的死代码



我正在开发Android应用程序,其中我正在使用逻辑从协调中找到一个人的方向。一切正常,但我在控制台上遇到错误:"死代码"。我的代码在下面给出,请解释一下这件事。

private void direction() {
        String userLocation = mLatitude + ","
                + mLongitude ;
        if(userLocation!=null){
            String distLocation = Constants.sMY_LOCATION.getLatitude() + ","
                    + Constants.sMY_LOCATION.getLongitude();
            String url = "https://maps.google.com/maps?f=d&saddr=" + userLocation
                    + "&daddr=" + distLocation;
            Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            startActivity(i);
        }else{ // Getting Dead Code Yellow error here
            finish();
            Toast.makeText(getBaseContext(), "Please check your internet and try again!", Toast.LENGTH_SHORT).show();
        }

    }

这是因为无法联系到您的其他人

String userLocation = mLatitude + ","
            + mLongitude ;
    if(userLocation!=null){
       ...
    }else{
       ...
    }

用户位置永远不会为空

你的 else{} 中的代码永远不会被访问,因为你的字符串 userLocation 是在 if 语句之前初始化的,这意味着它永远不会为空。

所以你其他人的代码实际上是死代码。

您应该

检查mLatitudemLongitude是否为空而不是整个字符串。

例:

if (mLatitude != null && mLongitude != null) {
   // String userLocation = ...
}
else {
   // Your else code
}

相关内容

  • 没有找到相关文章

最新更新