맥심 :
나는 방정식을 반대하는 간단한 코드를 작성했지만, 두 줄에 의해 강조 lint
하게 IntelliJ IDEA에서. 정확한 메시지는
'하위 문자열'호출에 중복
final String equation = "20+3*475-2-1*4";
final int size = equation.length();
final StringBuilder sb = new StringBuilder(size);
int right = size;
for (int i = size - 1; i > -1; i--) {
switch (equation.charAt(i)) {
case '+': case '-': case '*':
sb.append(equation.substring(i + 1, right)); // this line
sb.append(equation.charAt(i));
right = i;
}
}
if (right != 0) {
sb.append(equation.substring(0, right)); // and this line
}
나는 지금 상황에 때 직면하지 않은 lint
이유없이 하이라이트 뭔가를. 하지만 지금은 이러한 호출이 중복 왜 아무 생각이 없습니다.
스테판 HAUSTEIN :
이 호출을 단순화 할 수 있습니다 :
sb.append(equation, i + 1, right);
이 구현은 직접 "식"의 원하는 부분을 복사 할 수 있도록 명시 중간 스트링 구성을 피한다.