** StringBuilder
- 변할 수 있는 문자열을 저장하는 클래스.
- 많은 문자열을 다운로드 받을 때 이전의 String은 +연산을 하게되면 불필요한 복사 작업을 해서 시간도 오래걸리고 메모리 낭비가 심해서 StringBuilder를 이용해서 문자열을 추가하고 다운로드를 전부 받은 후에 다시 String으로 변환해서 사용했습니다.
- 하지만 1.7버전 부터는 String 도 StringBuilder 처럼 동작합니다.
1. 생성자
StringBuilder()
StringBuilder(String)
2. 주요 메소드
void append(String str) : str 을 현재 문자열 뒤에 추가합니다.
String toString() : String 으로 변환해서 리턴
** String 과 다른 자료형의 변환
- 모든 참조형 데이터는 toString()을 호출하면 String 을 리턴합니다.
- 기본형 데이터들은 String.format()을 이용하거나 String 과 + 연산을 하면 됩니다.
- String 을 기본형으로 변환할 때는 변환하고자 하는 래퍼클래스.parse자료형(문자열) 라고 코딩하면 되는데 문자열을 가지고 래퍼클래스 자료형으로 변환할 수 없으면 예외가 발생하므로 조심해야 합니다.
** 빠른 열거
for(임시변수 : 배열이나 List){
}
- 배열이나 List의 모든 요소를 순서대로 임시변수에 대입합니다.
- 빠른 열거의 단점은 인덱스를 사용해야 하는 경우 직접 생성해야 하는 것이 불편합니다.
** annotation
- @로 시작하는 문자열
- 자주 사용하는데 어려운 자바코드를 별도의 이름으로 만들어두고 사용하는 것
- 메소드나 클래스 이름 위에 사용합니다.
- @Override : 이 메소드가 오버라이딩 된 메소드라는 것을 알려주는 어노테이션입니다.
이 어노테이션은 메소드 위에 기재합니다.
이 어노테이션이 있는데 오버라이딩 된 메소드가 아니면 에러입니다.
1.6 이상 버전부터 지원되기 때문에 가끔 에러 표시가 있습니다.
- @Deprecated : 앞으로 사용하지 않았으면 할 때 사용하는 어노테이션입니다.
이 메소드나 변수는 앞으로 없어질 지 모른다는 경고입니다.
대체하는 메소드나 변수가 있으면 변경해서 사용하는 것이 좋습니다.
** enum
- 메소드의 파라미터에 제약을 가하기 위해서 사용하는 개체
- 예를들면 가위 바위 보는 3가지 모양만 있습니다. 이 때 가위나 바위나 보를 입력받으려고 하면 어떤 자료형으로 만들어야 하는지 곤란할 수 있는데 이 때 사용할 수 있습니다.
- enum 이름{
값을 나열;
}
안에 나열한 값밖에 못 가지는 개체가 만들어집니다.
enum T{
kawi, bawi, bo;
}
public void method(T obj) : 이 메소드에는 T.kawi, T.bawi, T.bo 3가지만 입력이 가능합니다.
ex) 아래 문자열에서 x의 모든 위치를 배열에 저장하고 배열을 빠른 열거를 이용해서 출력
String msg = "dksdjxkdsldkscxdskx"
=>5
14
18
'JAVA 공책 > 수업 메모' 카테고리의 다른 글
List (0) | 2018.09.04 |
---|---|
Data Structure(자료구조) (0) | 2018.09.03 |
String 클래스 (0) | 2018.08.29 |
java lang 패키지 (0) | 2018.08.28 |
pakage의 정의와 API의 구조와 해석법 (0) | 2018.08.27 |