, найденный здесь: https://gist.github.com/jlong/2428561
var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";
parser.protocol; // => "http:"
parser.host; // => "example.com:3000"
parser.hostname; // => "example.com"
parser.port; // => "3000"
parser.pathname; // => "/pathname/"
parser.hash; // => "#hash"
parser.search; // => "?search=test"
parser.origin; // => "http://example.com:3000"
Пожалуйста, проверьте код ниже
class test {
public static void main(String[] args) {
String s = "o";
if (s.length() <= 1) {
System.out.println(s);
} else {
String s1 = s.substring(0, 2);
System.out.println(s1);
}
}
}
У нас не может быть подстроки, длина которой больше длины предоставленной строки, и, следовательно, эти ошибки.
Когда строка содержит только один символ, вы все равно запускаете String s1 = s.substring(0,2);
, который попытается получить доступ ко второму символу, и вы получите исключение вне диапазона.
Вы можете написать свой код как:
String s = "o";
String s1 = s;
if (s.length() > 2) {
s1 = s.substring(0,2);
}
System.out.println(s1);
Таким образом, вы можете создать подстроку из s
, только если она содержит более 2 символов.
Альтернатива:
s.substring(0, Math.min(2, s.length()))