Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 方法中if子句中的return语句导致无法访问该方法的其余部分_Java_Android - Fatal编程技术网

Java 方法中if子句中的return语句导致无法访问该方法的其余部分

Java 方法中if子句中的return语句导致无法访问该方法的其余部分,java,android,Java,Android,我正在制作的android应用程序有问题。在下面的代码中,eclipse说第一个if语句下面的所有内容都是“不可访问的代码”。但情况不应该是这样,因为第一个if语句并不总是执行。不管我测试startTime的字符串是什么,不可访问的代码错误仍然存在,我做错了什么 public class Service implements Serializable { private static final long serialVersionUID = -1506952676619302741L;

我正在制作的android应用程序有问题。在下面的代码中,eclipse说第一个if语句下面的所有内容都是“不可访问的代码”。但情况不应该是这样,因为第一个if语句并不总是执行。不管我测试startTime的字符串是什么,不可访问的代码错误仍然存在,我做错了什么

public class Service implements Serializable
{
  private static final long serialVersionUID = -1506952676619302741L;
  private String expireTime = "No data";
  private String startTime = "No data";
  private String value = "No data";
  private String name = "No data";  

    public long getHideTimeMillis() throws IllegalArgumentException
    {
      Time startTime = new Time(Time.getCurrentTimezone());
      Time endTime = new Time(Time.getCurrentTimezone());
      int[] startTimeSplit;
      int[] endTimeSplit;

      if(this.startTime.equals("No data"));
      {
        throw new IllegalArgumentException("Start time is not correctly formated.");
      }

      if(this.expireTime.equals("No data"))
      {
        throw new IllegalArgumentException("Expiry time is not correctly formated.");
      }

      startTimeSplit = splitDate(this.startTime);
      endTimeSplit = splitDate(this.expireTime);

      startTime.set(startTimeSplit[0], startTimeSplit[1], startTimeSplit[2],    startTimeSplit[3], startTimeSplit[4], startTimeSplit[5]);
      endTime.set(endTimeSplit[0], endTimeSplit[1], endTimeSplit[2], endTimeSplit[3], endTimeSplit[4], endTimeSplit[5]);

      long difference = endTime.toMillis(false)-startTime.toMillis(false);

      return (long)(difference*0.1+0.5);
    }
}

删除
来自此语句:

if(this.startTime.equals("No data"));
                                    ↑

这会导致您的方法总是抛出一个
IllegalArgumentException
,因此无法访问该方法的其余部分

删除

if(this.startTime.equals("No data"));<--!!!
由于抛出
,下面的代码无法访问

{
    throw new IllegalArgumentException("Start time is not correctly formated.");
}