String a = "a.jpg";
String str = a.split(".")[0];
Это вызовет ArrayOutOfBoundException, потому что split принимает аргументы регулярного выражения и "." является зарезервированным символом в регулярном выражении, представляющим любой символ.
Вместо этого мы должны использовать следующее утверждение:
String str = a.split("\\.")[0]; //Yes, two backslashes
Когда код скомпилирован, регулярное выражение известно как "\.", И мы хотим, чтобы оно было
Вот ссылка на мое старое сообщение в блоге на тот случай, если вам интересно .html