2015-01-16 2 views
1

я получаю сонара серьезное нарушение по следующему методу:Лучший способ справиться с сонара правила «Использование индекс Чаре»

private String getRequestId() { 
    final String uuid = UUID.randomUUID().toString(); 
    return uuid.substring(uuid.lastIndexOf("-") + 1, uuid.length()); 
} 

Sonar советы мне использовать String.indexOf(char) при проверке индекса одного символа, так как это выполняется быстрее, чем String.indexOf(String).

Я получаю это.

Я не понимаю, как эффективно применять этот совет в моем коде.

+2

Не запутаться о методе '# indexOf' в этом совете. Важной частью является тип переданного параметра. Sonar предлагает использовать 'char' вместо' String', как вы сейчас делаете с 'uuid.lastIndexOf (" - ")' (ум, который '' - '' является литералом 'String'). Способ изменения этого кода в ответе аскалонианцев. – Tom

+0

Пожалуйста, добавьте метки для sonar. Это SonarQube? – weston

+1

@Tom - Делает полный смысл, когда вы так выразились. Благодарю. –

ответ

5

Используйте одиночные кавычки, тире, как так: uuid.lastIndexOf('-');

+1

Пятно на, спасибо! –

+0

Рад, что я мог бы помочь :-) – Ascalonian

Смежные вопросы