728x90
String.indent()란❓
String.indent() 메서드는 문자열의 각 줄에 지정된 수만큼 공백을 추가하거나 제거하는 기능을 제공합니다. 이 메서드는 특히 코드 생성, 로깅, 텍스트 포맷팅 작업에서 매우 유용하게 사용됩니다.
기본 사용법
String text = "첫 번째 줄\n두 번째 줄\n세 번째 줄";
String indented = text.indent(4);
결과
첫 번째 줄
두 번째 줄
세 번째 줄
주요 특징
1. 양수 들여쓰기
- 양수를 매개변수로 전달하면, 각 줄의 시작 부분에 해당 수만큼 공백이 추가됩니다.
String text = "Hello\nWorld";
System.out.println(text.indent(2));
결과
Hello
World
2. 음수 들여쓰기
- 음수를 매개변수로 전달하면, 각 줄의 시작 부분에서 해당 수만큼 공백이 제거됩니다.
String text = " Hello\n World";
System.out.println(text.indent(-2));
결과
Hello
World
위 코드에서 알 수 있듯이 4개의 공백에서 2개가 제거된 시작부분의 2개의 공백이 된 것을 알 수 있습니다.
3. 자동 공백 제거
- 각 줄 끝에 있는 공백은 자동으로 제거됩니다. 이는 텍스트 포맷팅의 일관성을 유지하는 데 도움이 됩니다.
indent() 메서드의 실제 활용 사례
1. JSON 포맷팅
String text = "Line 1\n\nLine 3";
System.out.println(text.indent(2));
결과
Line 1
Line 3
위 코드와 같이 JSON 데이터를 들여쓰기하여 계층 구조를 시각적으로 더 명확하게 표현할 수 있습니다. 특히 API 응답이나 설정 파일 등을 다룰 때 유용합니다.
2. 로그 메시지
String json = "{\n" +
"name: 'John',\n" +
"age: 30\n" +
"}";
System.out.println(json.indent(2));
결과
{
name: 'John',
age: 30
}
위 코드와 같이 로그 메시지의 구조를 들여쓰기하여 중요한 정보를 계층적으로 표시할 수 있습니다. 이는 디버깅이나 로그 분석 시 가독성을 크게 향상시킵니다.
3. 코드 생성
String classTemplate = "public class Example {\n" +
"public static void main(String[] args) {\n" +
"System.out.println(\"Hello\");\n" +
"}\n" +
"}";
System.out.println(classTemplate.indent(4));
결과
public class Example {
public static void main(String[] args) {
System.out.println("Hello");
}
}
위 코드와 같이 동적으로 Java 코드를 생성할 때 적절한 들여쓰기를 적용하여 생성된 코드의 가독성을 높일 수 있습니다. 특히 코드 생성기나 템플릿 엔진을 구현할 때 매우 유용하게 사용됩니다.