일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JSP
- 접근제어자
- Interface
- ToString
- for문
- 메서드
- 제어자
- java
- 상속
- 변수
- Connection
- 예외
- StringBuffer
- I/O
- 내장 객체 영역
- 에러
- 커넥션 풀
- 예외처리
- StringBuffer클래스
- 배열
- 다형성
- array
- DB
- 입출력
- try-catch
- 람다식
- File입출력
- 객체
- 인터페이스
- 객체지향
Archives
- Today
- Total
ksouth9
String클래스의 생성자와 메서드 본문
String클래스의 생성자와 메서드
메서드 | 설명 | 예제 | 결과 |
String(String s) | 주어진 문자열(s)을 갖는 String인스턴스를 생성한다. | String s = new String("Hello"); | s = "Hello" |
String(char[] value) | 주어진 문자열(value)을 갖는 String인스턴스를 생성한다. | char[] c = {'H','e','l','l','o'}; String s = new String(c); |
s = "Hello" |
String(StringBuffer buf) | StringBuffer인스턴스가 갖고 있는 문자열과 같은 내용의 String인스턴스를 생성한다. | StringBuffer sb = new StrinBuffer("Hello"); String s = new String(sb); |
s = "Hello" |
char charAt(int index) | 지정된 위치(index)에 있는 문자를 알려준다. (index는 0부터 시작) |
String s = "Hello"; String n = "0123456"; char c = s.charAt(1); char c2 = n.charAt(1); |
c = 'e' c2 = '1' |
int compareTo(String str) | 문자열(str)과 사전순서로 비교한다. 같으면 0을, 사전순으로 이전이면 음수를, 이후면 양수를 반환한다. | int i = "aaa".compareTo("aaa"); int i2 = "aaa".compareTo("bbb"); int i3 = "bbb".compareTo("aaa"); |
i = 0 i2 = -1 i3 = 1 |
String concat(String str) | 문자열(str)을뒤에 덧붙인다. | String s = "Hello"; String s2 = s.concat(" World"); |
s2 = "HelloWorld" |
boolean contains(CharSequence s) | 지정된 문자열(s)이 포함되었는지 검사한다. | String s = "abcdefg"; boolean b = s.contains("bc"); |
b = true |
boolean equals(Object obj) | 매개변수로 받은 문자열(obj)과 String 인스턴스의 문자열을 비교한다. obj가 String이 아니거나 문자열이 다르면 false를 반환. | String s = "Hello.txt"; boolean b = s.equals("Hello"); boolean b2 = s.equals("hello"); |
b = true b2 = false |
boolean equalsIgnoreCase(String str) | 문자열과 String인스턴스의 문자열을 대소문자 구분없이 비교한다. | String s = "Hello"; boolean b = s.equalsIgnoreCase("HELLO"); boolean b2 = s.equalsIgnoreCase("heLLo"); |
b = true b2 = true |
메서드 | 설명 | 예제 | 결과 |
int indexOf(int ch) | 주어진 문자(ch)가 문자열에 존재하는지 확인하여 위치(index)를 알려준다. 못 찾으면 -1을 반환한다. | String s = "Hello"; int idx1 = s.indexOf('o'); int idx2 = s.indexOf('k'); |
idx1 = 4 idx2 = -1 |
int indexOf(int ch, int pos) | 주어진 문자(ch)가 문자열에 존재하는지 지정된 위치(pos)부터 확인하여 위치(index)를 알려준다. 못찾으면 -1을 반환한다. | String s = "Hello"; int idx1 = s.indexOf('e',0); int idx2 = s.indexOf('e',2); |
idx1 = 1 idx2 = -1 |
int indexOf(String str) | 주어진 문자열이 존재하는지 확인하여 그 위치(index)를 알려준다. 없으면 -1을 반환한다. | String s = "ABCDEFG"; int idx = s.indexOf("CD"); |
idx = 2 |
String intern() | 문자열을 상수풀(constant pool)에 등록한다. 이미 상수풀에 같은내용의 문자열이 있을 경우 그 문자열의 주소값을 반환한다. | String s = new String("abc"); Stirng s2 = new String("abc"); boolean b = (s==s2); boolean b2 = s.equals(s2); boolean b3 = (s.intern() == s2.intern()); |
b = false b2 = true b3 = true |
int lastIndexOf(int ch) | 지정된 문자 또는 문자코드를 문자열의 오른쪽 끝에서부터 찾아서 위치(index)를 알려준다. 못 찾으면 -1을 반환한다. | String s = "java.lang.Object"; int idx1 = s.lastIndexOf('.'); int idx2 = s.indexOf('.'); |
idx1 = 9 idx = 4 |
int lastIndexOf(String str) | 지정된 문자열을 인스턴의 문자열 끝에서부터 찾아서 위치(index)를 알려준다못찾으면 -1을 반환한다. | String s = "java.lang.java"; int idx1 = s.lastIndexOf("java"); int idx2 = s.indexOf("java"); |
idx1 = 10 idx2 = 0 |
int length() | 문자열의 길이를 알려준다. | String s = "Hello"; int length = s.length(); |
length = 5 |
String replace(char old, char nw) | 문자열 중의 문자(old)를 새로운 문자(nw)로 바꾼 문자열을 반환한다. | String s = "Hello"; String s1 = s.replace('H','C'); |
s1 = "Cello" |
String replaceAll(String regex, String replacement) | 문자열 중에서 지정된 문자열(regex)과일치하는 것을 새로운 문자열(replacement)로 모두 변경한다. | String ab = "AABBAABB"; String r = ab.replaceAll("BB","bb"); |
r ="AAbbAAbb" |
메서드 | 설명 | 예제 | 결과 |
String replaceFirst(String regex, String replacement) | 문자열 중에서 지정된 문자열(regex)과 일치 하는 것 중, 첫 번째 것만 새로운 문자열(replacement)로 변경한다. | String ab = "AABBAABB"; String r = ab.replaceFirst("BB","bb"); |
r = "AAbbAABB" |
String [] split(String regex) | 문자열을 지정된 분리자(regex)로 나누어 문자열 배열에 담아 반환한다. | String animals = "dog,cat,bear"; String [] arr = animals.split(","); |
arr[0] = "dog" arr[1] = "cat" arr[2] = "bear" |
String [] split(String retex, int limit) | 문자열을 지정된 분리자(regex)로 나누어 문자열배열에 담아 반환한다. 단, 문자열 전체를 지정된 수(limit)로 자른다. | String animals = "dog,cat,bear"; String [] arr = animals.split(",",2); |
arr[0] = "dog" arr[1] = "cat,bear" |
boolean startsWith(String prefix) | 주어진 문자열(prefix)로 시작하는지 검사한다. | String s = "java.lang.Object"; boolean b = s.startsWith("java"); boolean b2 = s.startsWith("lang"); |
b = true b2 = false |
String substring(int begin) String substring(int begin, int end) |
주어진 시작위치(begin)부터 끝 위치(end)범위에 포함된 문자열을 얻는다. 이 때, 시작위치의 문자는 범위에 포함되지만, 끝 위치의 문자는 포함되지 않는다.(begin<end) | String s = "java.lang.Object"; String c = s.substring(10); String p = s.substring(5,9); |
c = "Object" p = "lang" |
String toLowerCase() | String 인스턴스에 저장되어있는 모든 문자열을 소문자로 변환하여 반환한다. | String s = "Hello"; Sring s1 = s.toLowerCase(); |
s1 = "hello" |
String toString() | String 인스턴스에 저장되어 있는 문자열을 반환한다. | String s = "Hello"; String s1 = s.toString() |
s1 = "Hello" |
String toUpperCase() | String인스턴스에 저장되어있는 모든 문자열을 대문자로 변환하여 반환한다. | String s = "Hello"; String s1 = s.toUpperCase(); |
s1 = "HELLO" |
String trim() | 문자열의 왼쪽 끝과 오른쪽 끝에 있는 공백을 없앤 결과를 반환한다. 이 때 문자열 중간에 있는 공백은 제거되지 않는다. | String s = " Hello World "; String s1 = s.trim(); |
s1 ="Hello World" |
메서드 | 설명 | 예제 | 결과 |
static String valueOf(boolean b) static String valueOf(char c) static String valueOf(int i) static String valueOf(long l) static String valueOf(float f) static String valueOf(double d) static String valueOf(Object o) |
지정된 값을 문자열로 변환하여 반환한다. 참조변수의 경우, toStirng()을 호출한 결과를 반환한다. | String b = String.valueOf(true); String c = String.valueOf('a'); String i = String.valueOf(100); String l = String.valueOf(100L); String f = String.valueOf(10f); String d = String.valueOf(10.0); java.util.Date dd = new java.util.Date(); String date = String.valueOf(dd); |
b = "true" c = "a" i = "100" l = "100" f = "10.0" d = "10.0" date = "Tue Mar 29 20:25:38 KST 2022" |
join(), StringJoiner
join()메서드는 여러 문자열 사이에 구분자를 넣어서 결합한다.
String anmals = "dog,cat,bear";
String str = String.join("-",arr); // 배열의 문자열을 '-'로 구분해서 결합
System.out.println(str); // dog-cat-bear
java.util.StringJoiner클래스
StringJoiner클래스도 여러 문자열 사이에 구분자를 넣어서 결합한다.
StringJoiner sj = new StringJoiner("," , "[" , "]");
String [] strArr = {"aaa", "bbb", "ccc"};
for(String s : strArr)
sj.add(s.toUpperCase());
System.out.println(sj.toString()); // [AAA,BBB,CCC]
기본형 값을 String으로 변환
int i = 100;
String str1 = i + ""; // 100을 "100"으로 변환하는 방법 1
String str2 = String.valueOf(i); // 100을 "100으로 변환하는 방법 2
※참조변수에 String을 더하면, 참조변수가 가리키는 인스턴스의 toString()을 호출하여 String을 얻은 다음 결합한다.
String을 기본형 값으로 변환
int i = Integer.parseInt("100"); // "100"을 100으로 변환하는 방법 1
int i2 = Integer.valueOf("100"); // "100"을 100으로 변환하는 방법 2
기본형과 문자열간의 변환방법
기본형 → 문자열 | 문자열 → 기본형 |
String String.valueOf(boolean b) String String.valueOf(char c) String String.valueOf(int i) String String.valueOf(long l) String String.valueOf(float f) String String.valueOf(double d) |
boolean Boolean.parseBoolean(String s) byte Byte.parseByte(String s) short Short.parseShort(String s) int Integer.parseInt(String s) long Long.parseLong(String s) float Float.parseFloat(String s) double Double.parseDouble(String s) |
'Java' 카테고리의 다른 글
StringBuffer클래스의 생성자와 메서드 (0) | 2022.03.30 |
---|---|
java.lang 패키지(4) - StringBuffer클래스 (0) | 2022.03.29 |
java.lang 패키지(3) - String클래스 (0) | 2022.03.28 |
java.lang 패키지(2) (0) | 2022.03.27 |
java.lang 패키지(1) (0) | 2022.03.20 |