래퍼 클래스(Wrapper class)는 산술 연산을 위해 정의된 클래스가 아니므로, 인스턴스에 저장된 값을 변경할 수 없다.
단지, 값을 참조하기 위해 새로운 인스턴스를 생성하고, 생성된 인스턴스의 값만을 참조할 수 있다.
Person1 p1 = new Person1("홍길동");
System.out.println(p1.equals(new Person1("홍길동"))); // true
System.out.println(p1.equals(new Person1("최명태"))); // false
public class Person {
private String str;
public Person(String strName) {
// TODO Auto-generated constructor stub
str = strName;
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
//'equals'function with String type is print what Value in String
if (obj instanceof Person) {
Person person = (Person)obj;
if (this.str.equals(person.str)) {
return true;
}
}
return false;
// if (this.str.equals(((Person)obj).str)) {
// return true;
// }
//This code is different from code.equals
//because '==' is compare to reference address
// if (this.str == ((Person)obj).str) {
// return true;
// }
// else {
// return false;
// }
}
}
String s1 = new String("java");
String s2 = new String("java");
String s3 = s2;
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
System.out.println(s2 == s3);
System.out.println(s2.equals(s3));
if(s1 == s2)
System.out.println("s1, s2 참조 대상 같다.");
else
System.out.println("s1, s2 참조 대상 다르다. ");
if(s2 == s3)
System.out.println("s2, s3 참조 대상 같다.");
else
System.out.println("s2, s3 참조 대상 다르다. ");
if(s1.equals(s2))
System.out.println("s1, s2 내용 동일하다.");
else
System.out.println("s1, s2 내용 다르다.");
if(s2.equals(s3))
System.out.println("s2, s3 내용 동일하다.");
else
System.out.println("s2, s3 내용 다르다.");
}
}
String type의 equlas
함수는 String의 값을 출력하지만, ==
연산자는 참조 주소를 비교한다.
//문자열을 입력하세요. 빈칸이나 있어도 되고 영어 한글 모두 됩니다.
I Love you
Love youI
Love youI
ove youI L
ve youI Lo
e youI Lov
youI Love
youI Love
ouI Love y
uI Love yo
I Love you
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("문자열을 입력하세요. 빈칸이나 있어도 되고 영어 한글 모두 됩니다.");
String input = sc.nextLine();
for (int i = 0; i <= input.length(); i++) {
System.out.print(input.substring(i));
System.out.println(input.substring(0, i));
}
sc.close();
}
}