티스토리 뷰
for 문이나 while 문을 활용하여,
문자열을 합칠 때 보통은 간단하게 += 연산자를 활용하여 수행한다.
그럼 보통 다음과 같은 warning을 보게 된다.
Reports String concatenation in loops. As every String concatenation copies the whole String, usually it is preferable to replace it with explicit calls to StringBuilder.append() or StringBuffer.append().
무슨말인지는 구글 번역 돌려보자! ㅋㅋㅋ
+= 사용시 문자열 전체를 지속적으로 복사하여 붙이기 때문에
붙이는 문자열이 길어질 수록 퍼포먼스가 떨어진다. 물론 리소스는 말할것도 없다.
아래와 같이 변경하자!
String sumStr = "";
for( String str : strArrList ) {
if( "".equals(sumStr.trim()) )
sumStr = str;
else
sumStr += ";" + str;
}
위와 같은 += 를 사용한 구조에서
다음과 같이 변경하면 warning은 사라진다.
final StringBuilder stringBuilder = new StringBuilder();
for( int i = 0; i < strArrList; i++ ) {
String str = strArrList.get(i);
if( i == 0 )
stringBuilder.append(str);
else {
String appendStr = ";" + str;
stringBuilder.append(appendStr);
}
}
String sumStr = stringBuilder.toString();
'Android Memo' 카테고리의 다른 글
Installed Build Tools revision 31.0.0 is corrupted (0) | 2022.06.21 |
---|---|
EditText Custom Background 지정 (0) | 2020.06.23 |
Glide 모듈을 사용 한 비동기 이미지를 포함하는 노티피케이션 띄우기 (0) | 2018.12.07 |
Android ViewPager 내부 View에 클릭 이벤트가 있을 경우 해당 View 페이징이 안되는 증상. (0) | 2018.11.16 |
안드로이드 Sol Prime 단말 fontFamily 설정 오류 (0) | 2018.11.06 |
- Total
- Today
- Yesterday
- glide
- FrameAnimation
- Android Custom Dialog
- fontFamily
- android o
- startForegroundService
- targetSdkVersion 31
- ViewPager
- buildToolsVersion 31.0.0
- Android 더블 클릭
- AnimationDrawable
- String append
- notification
- 문자열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |