반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 데이터베이스
- 컴퓨터공학
- 네트워크보안
- 자바스크립트
- 알고리즘
- 프로그래밍
- 데이터구조
- Yes
- 자료구조
- I'm Sorry
- 컴퓨터비전
- 소프트웨어공학
- 코딩
- 컴퓨터과학
- 클라우드컴퓨팅
- 2
- 보안
- 네트워크
- 프로그래밍언어
- 딥러닝
- 웹개발
- 빅데이터
- 사이버보안
- 데이터분석
- 소프트웨어
- 버전관리
- 머신러닝
- 데이터과학
- 인공지능
- 파이썬
Archives
- Today
- Total
스택큐힙리스트
자바 - String[]에서 문자열을 연결하기 위한 내장 함수가 있나요? 본문
반응형
이거 보다 나은 방법이 있을까요?
String concat(String[] strings) {
StringBuilder out = new StringBuilder();
for(String next: strings) {
out.append(next);
}
return out.toString();
}
아니면 내장된 기능이 있을까 걱정마세요.
답변 1
아니오, 현재 Java 라이브러리에는 없습니다.
JDK7에서는 String.join(, strings)
를 작성할 수 있어야합니다. posh for 루프에서 인덱스를 원하는 사용의 85%가 문자열 결합을 수행하기 위한 것으로 나타났습니다(어쨌든 수행할 수 있습니다).
아마도 최상의 효율성을 원한다면 다음과 같이 작성할 수 있습니다:
public static String concat(String... strs) {
int size = 0;
for (String str : strs) {
size += str.length;
}
final char[] cs = new char[size];
int off = 0;
try {
for (String str : strs) {
int len = str.length();
str.getChars(0, len, cs, off);
off += len;
}
} catch (ArrayIndexOutOfBoundsException exc) {
throw new ConcurrentModificationException(exc);
}
if (off != cs.length) {
throw new ConcurrentModificationException();
}
return new String(cs);
}
(물론 컴파일되지 않았고 테스트되지 않았습니다.)
답변 2
Java - String[]의 문자열을 연결하는 내장 함수가 있나요?Java에서는 String[] 배열의 문자열을 연결하는 내장 함수가 없습니다. 단, 문자열을 연결하기 위해 + 연산자를 사용할 수 있습니다. + 연산자는 두 개의 문자열을 합쳐주는 역할을 합니다.
문자열을 연결하는 방법 중 하나는 StringBuilder 클래스를 사용하는 것입니다. StringBuilder는 가변성을 가지며, 문자열을 효율적으로 연결할 수 있는 다양한 메서드를 제공합니다. 예를 들어, append() 메서드를 사용하여 문자열을 추가하고, toString() 메서드를 사용하여 최종적인 연결된 문자열을 얻을 수 있습니다.
또한, Java 8부터는 String.join() 메서드를 사용하여 문자열을 연결할 수도 있습니다. 이 메서드는 문자열과 구분자를 인수로 받아 문자열 배열을 연결한 결과를 반환합니다.
결론적으로, Java에서는 String[]의 문자열을 연결하기 위해 내장 함수는 제공되지 않지만, + 연산자, StringBuilder 클래스 및 String.join() 메서드를 활용하여 문자열을 연결할 수 있습니다. 이러한 방법을 사용하면 문자열을 효율적으로 처리할 수 있으며, 원하는 결과를 얻을 수 있습니다.
반응형
Comments