자바 팁 2

java

####1. String == 와 equals의 차이점

String으로 = =을 비교시 주소를 비교하는것이다.

따라서 내부 값을 비교하기 위해서는 equals를 쓰도록한다.

참고로 문자열말고 문자는 그냥 ==으로 하여도 무방함.

ex) char A == ‘6’;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 둘다 똑같은 값을 가지고 있으니까 참 
new String("test").equals("test") // --> true

// new String으로 새로운 객체를 생성하고 "test"는 다른 객체여서 false
new String("test") == "test" // --> false

// "test"라는 값을 가진 객체를 둘다 각자 생성해서 false
new String("test") == new String("test") // --> false

// "test" "test"를 컴파일러는 같은 객체로 봐서 참
"test" == "test" // --> true

// checks for nulls and calls .equals()
Objects.equals("test", new String("test")) // --> true
Objects.equals(null, "test") // --> false

02. charAt() , toCharArray()

charAt() : 문자열타입에 저장된 값들을 배열형태로 인식하여 반환하는 함수.

to.CharArray() : 문자열에 있는 모든 내용을 문자배열로 반환하는 함수.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
   	String a="001100111";
char[] x = a.toCharArray();

for(int i=0;i<a.length();i++){
if(a.charAt(i)=='0'){
System.out.print("영");
}else{
System.out.print("일");
}
}
System.out.println();

for(int i=0;i<a.length();i++){
System.out.print(x[i]);
}
System.out.println();

img

03_1. 형변환 (요약)

Integer.parseInt( ) -> 문자열 -> 정수

String.valueOf( ) -> 정수 -> 문자열

1
2
3
4
5
int a = 0;
String s = "55";

int a = Integer.parseInt(s); //a=55
String s = String.valueOf(a+10); //s="65"

img

03_2. 형변환 (목록)

①. 문자열에서 정수형으로 변환 (String to int)

- int i = Integer.parseInt(String str);

②. 정수형을 문자열로 변환 (int to String)

- String str = Integer.toString(int i);

- String str = String.valueOf(int i);

③. 형식에 맞춰서 변수들을 문자열로 변환 (c언어의 printf 동일)

- int i; float f;

String str = String.format(“%d %f”,i,f);

④. 문자열에서 다른 숫자형태로 변환

- float f = Float.parseFloat(String str); // String to float

- double d = Double.parseDouble(String str); // String to double

- byte b = Byte.parseByte(String str); // String to byte

- long l = Long.parseLong(String str); // String to long

- short s = Short.parseShort(String str); // String to short

⑤. 다른 숫자형태에서 문자열로 변환

- String str = String.valueOf(boolean b); // true 또는 false가 str에 저장됨.

- String str = String.valueOf(char c); // char to String

- String str = String.valueOf(char[] data); // char array to String

- String str = String.valueOf(double d); // double to String

- String str = String.valueOf(float f); // float to String

- String str = String.valueOf(long l); // long to String

- String str = String.valueOf(Object o);

// Object to String , o == null이면 “null” 이 되고 o!= null이면 o.toString()함수의 반환값은 str

- String str = String.valueOf(char[] data, int offset, int count);

// offset 의 index부터 count 개의 문자로 부분문자열 생성

Share