Jac*_*son 1 java substring indexoutofboundsexception
假设我有一种方法可以将前3个字符组成一个字符串,如下所示:
public static String makeThree(String a){
return a.toLowerCase().substring(0, 3);
}
Run Code Online (Sandbox Code Playgroud)
是否有任何内置/智能方法来处理StringIndexOutOfBoundsException错误,当一个只有2个字符的字符串被赋予方法时IE?在这种情况下,我希望它只是按原样返回它.
我可以把它构建成这样的if语句:
public static String makeThree(String a){
if (a.length < 3) {
return a
} else {
return a.toLowerCase().substring(0, 3);
}
}
Run Code Online (Sandbox Code Playgroud)
但我只是想知道是否有更好的方法去做.
我唯一可以建议的是将它全部放到一行:
return (a.length < 3) ? a : a.substring(0,3).toLowerCase();
Run Code Online (Sandbox Code Playgroud)
这与您的代码完全相同:
if (a.length < 3) {
return a
} else {
return a.toLowerCase().substring(0, 3);
}
Run Code Online (Sandbox Code Playgroud)
我从其他人的回答中记下了一个注释,并.toLowerCase()在子串操作后移动了.这可以防止不必要地改变随后丢弃的字母的情况.
| 归档时间: |
|
| 查看次数: |
627 次 |
| 最近记录: |