【发布时间】:2013-11-07 22:48:21
【问题描述】:
Java中string.substring的结束索引可以用负数吗?
例子:
String str = "test";
str.substring(0, str.indexOf("q"));
编辑:javadocs 中没有直接说明 endindex 不能为负数。其他语言和库中的 substring 实现允许负 endindex 但不允许负 beginindex,因此明确说明这一点似乎是相关的。它也没有以任何方式暗示。 (编辑:好的,这暗示得很松散,但是我和显然其他亲自问过我这个问题的人仍然觉得很不清楚。这本来是一个简单的问答,我提供的并不是我实际上试图找到答案这个琐碎的问题)
【问题讨论】:
-
这是一个静态辅助方法,它允许来自我的自定义
StringUtil类的否定:public static String substring(String str, int begin, int end) { if (str == null) [ return null; } if (begin < 0) { begin = str.length() + begin; } if (end < 0) { end = str.length() + end; } return str.substring(begin, end); }。我还有一个StringUtil.substring(String begin),它用字符串的长度调用另一个作为结束。