자동완성 기능이 없는 손코딩이나 코딩테스트환경에 대비해서
한번씩 헷갈리는 메서드들을 적어봤다.
되도록이면 하루에 한번씩 읽어보고 하루를 시작하려고 한다.
그리고 공부하면서 계속 추가할 예정이다.
1. toUpperCase() / toLowerCase()
- 이것은 각각 변수(String).toUpper/LowerCase()로 쓰고 String형의 문자열을 대/소문자로 다 바꿔주는 역할을 함
- Character.toUpperCase(변수(ch))이렇게 사용할 수도 있는데 이렇게 사용하면 문자열이 아닌 문자를 대문자로 바꿔줌
2. length/length()
- 이게 자동완성 기능이 없거나 손코딩을 할때 은근히 헷갈리는데
- length : 배열의 길이를 나타내는 것
- length() : 문자열의 길이를 나타내는 것
3. 변수.toCharArray()
- 변수를 char형 배열로 바꿔줌
4. StringBuilder
- 자세히 적으면 너무 길어져서 간단히 쓰자면 String과 같이 클래스로써 StringBuilder이라는 클래스가 있다.
- 이 StringBuilder클래스 안에 메서드 중에 쓸 수 있는 것
- StringBuilder(변수).reverse() : 변수안의 문자열을 전체를 뒤집어 주는 것
5. ?.toString() / String.valueOf(?)
- 어떤 것을 스트링형으로 바꿔준다는 것은 같다.
- 하지만 null값을 넣었을 때 valueOf()는 "null"이렇게 출력을 하고
- toString()은 null대신 NPE를 발생시키고 Object에 담긴 값이 String이 아니여도 출력한다.
- 그리고 char배열을 String형으로 만들때는 String.valueOf(char배열)을 쓴다.
6. Character.isAlphabetic(char)
- char형의 문자가 알파벳인지 아닌지 판단
- 알파벳일 경우 true반환
7. String.format("%02d", 숫자나 변수)
- 숫자나 변수안의 숫자를 2자리 정수로 만드는데
- 만약 2자리 정수가 안될시 왼쪽부터 0을 넣어서 만든다.
- 문자열로 반환(숫자를 쓴다고 해서 int나 double형으로 반환되는게 아님!)
- ex) 숫자가 8일시 위의 String.format("%02d", 8)을 쓰면 -> 08로 나타내어진다.
8. Arrays.toString(배열)
- 배열을 출력해줌
- 그냥 print로 배열을 출력할 시 배열말고 주소값과 같은 형태로 출력됨.
- 다차원은 deepToString()
9. subList(시작,끝)
- ArrayList에서 시작index값부터 (끝-1)index값까지 출력해줌
10. Arrays.equals(배열1, 배열2)
- 배열들의 일치비교
- 다차원은 Arrays.deepEquals()
11. Arrays.copyOf(배열,숫자)
- 배열의 [0]부터 숫자의 갯수만큼 복사
- Arrays.copyOfRange(배열, 시작할 index, 끝 index) -> 시작 index부터 (끝-1) index까지 복사
- 깊은 복사
12. Arrays.asList(배열)
- 일반배열을 ArrayList로 변환시 사용
- asList로 변경된 ArrayList에 바로 객체를 추가(add) 또는 제거(remove)불가
- ArrayList와 같은 컬렉션 클래스로 한번 Wrapping해서 사용하면 됨
- 얕은 복사와 비슷한 개념이라 asList()사용시 주소값을 공유하므로 원본 배열도 바뀌게 된다.
13. append()
- StringBuilder타입으로 문자열을 추가할 시, append(문자열)을 쓴다.
14. contains("문자열")
- 해당 문자열이 포함되어 있으면 true반환
15. replace("문자열1","문자열2")
- 해당 문자열에 있는 문자열1을 전부 다 문자열2로 바꿔준다
16. indexOf("문자열")
- 해당 문자열이 존해자면 해당 문자열이 존재하는 "처음" index값 반환
'JAVA > 메서드 외울 것' 카테고리의 다른 글
얕은 복사 vs 깊은 복사 (0) | 2022.01.15 |
---|