【问题标题】:How can I only return a part of my String method?我怎样才能只返回我的 String 方法的一部分?
【发布时间】:2013-11-16 22:43:01
【问题描述】:

我有一个 String 方法,我只想返回 if 语句之后的部分,而不是 else!我已经尝试过 try & catch 但也没有用。这可能吗?

PS.这是我第一次使用stackoverflow。

String split() {
    String one = "", two = "";

        int index = tableFields.indexOf("(");
        if (index > 0){
        one = tableFields.substring(0, index);
        two = tableFields.substring(index + 1,
                tableFields.length() - 1);
        }
        else {
            System.out.println("error");
        }
        return "`" + one + "`" + " "+  two;
}

【问题讨论】:

  • 这里的tableFields 是什么?
  • if 不是循环:/
  • 如果else 永远不会发生,你应该抛出一个异常。
  • 如果您的字符串与 "xxx(yyy)" 形式不匹配,您实际上希望发生什么?
  • @DavidWallace 我希望它什么都不返回,但此时我进行了上面的更改,它返回 NULL。

标签: java string loops if-statement return


【解决方案1】:

你可以在 else 中抛出异常,或者返回 null。

类似

else {
    throw new IllegalStateException("Can't split");
}

else {
    return null;
}

http://www.tutorialspoint.com/java/java_builtin_exceptions.htm 提供了一些可能有用的内置异常的列表,否则您可以自己编写。

【讨论】:

    【解决方案2】:

    else 和 if 都可以返回。

    if (index > 0)
    {
        one = tableFields.substring(0, index);
        two = tableFields.substring(index + 1, tableFields.length() - 1);
        return "`" + one + "`" + " "+  two;
    }
    else 
    {
        System.out.println("error");
        return null;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-13
      相关资源
      最近更新 更多