티스토리 뷰
indexOf 함수는 문자열 내에서 지정된 문자나 문자열이 처음 발견되는 인덱스를 반환한다. 만약 찾지 못했을 경우 "-1"을 반환한다. 시작위치는 생략이 가능하며 생략할 경우 0번째 즉 처음부터 찾는다.
대부분의 개발자들이 알고있는 사실이고 자주 사용하는 함수이기도 하다. 하지만 indexOf 함수 사용시 시작 위치를 지정해서 사용하기를 권장한다. 시작 위치를 지정해서 사용하면 좀 더 명확해진다.
- indexOf(int ch, int fromIndex)
- indexOf(String str, int fromIndex)
Noncompliant Code Example
// a new String is going to be created by "substring"
str.substring(beginIndex).indexOf(char1); // Noncompliant
String name = "ismael";
if (name.indexOf("ae") > 2) { // Noncompliant
// ...
}
위 코드는 잘 동작하지만 substring 메서드를 호출할 때마다 새 문자열을 반환한다. 이런 코드가 루프에서 반복적으로 수행된다면 성능에 문제가 발생할 수 있다. 성능 문제를 피하려면 indexOf에 추가 매개 변수를 이용하여 시작 오프셋을 지정해야 한다.
Compliant Solution
str.indexOf(char1, beginIndex);
String name = "ismael";
if (name.indexOf("ae", 2) > -1) {
// ...
}
'프로그래밍 > Back end' 카테고리의 다른 글
[Back end] Interceptor API 여부 검증 (0) | 2020.02.12 |
---|---|
[Back end] Spring Index Redirect 처리 (0) | 2020.02.02 |
[Back end] Java 예외 처리에 대한 고찰 (0) | 2020.01.29 |
[Back end] Java toString() VS String.valueOf() 비교 (0) | 2019.11.23 |
[Back end] Java Array 응용하여 사용하기 (0) | 2019.11.21 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
TAG
- 이직
- 프로그래머
- 회고
- 자바
- Java
- effective java
- sort algorithm
- 제주도 3박4일 일정
- Collection
- 경력관리
- 제주도 여행
- 프로그래머스
- 성능분석
- 개발환경
- javascript
- 정렬 알고리즘
- 리액트
- Maven
- 리눅스 명령어
- 리액트 16
- React
- Eclipse
- 오라클
- Tomcat
- SQL
- spring
- 자바스크립트
- Linux 명령어
- 소프트웨어공학
- 오라클 내장 함수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함