Несмотря на то, что String.split выполнит эту работу, класс Splitter в Guava не отбрасывает без остатка конечные разделители, и его API не заставляет использовать регулярное выражение, когда оно не нужно:
http://guava -libraries.googlecode.com / SVN / багажник / Javadoc / COM / Google / общие / база / Splitter.html
Что касается вашего вопроса, вот фрагмент кода:
Iterable<String> parts = Splitter.on('-').split(issueField);
Некоторые дополнительные бонусы с использованием Splitter вместо String.split:
- Возвращенный
Iterable
ленив. В
Другими словами, это на самом деле не будет делать
работать, пока вы не перебираете его.
- Он не разделяет все токены
и сохранить их в памяти. Вы можете
перебрать огромную строку,
токен за токеном, без удвоения
использование памяти.
Единственная причина не использовать Splitter - это если вы не хотите включать Guava в ваш путь к классам.