throws
import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
class JavaPractice {
public static void main(String[] args) throws IOException {
Path file = Paths.get("C:\\javastudy\\Simple.txt");
BufferedWriter writer = null;
writer = Files.newBufferedWriter(file);
writer.write('A');
writer.write('Z');
if(writer != null)
writer.close();
}
}
try ~ catch
import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
class JavaPractice {
public static void main(String[] args) {
Path file = Paths.get("C:\\javastudy\\Simple.txt");
BufferedWriter writer = null;
try {
writer = Files.newBufferedWriter(file);
writer.write('A');
writer.write('Z');
if(writer != null)
writer.close();
}
catch(Exception e) {
e.getMessage();
}
}
}
class INum {
private int num;
public INum(int num) {
this.num = num;
}
@Override
public boolean equals(Object obj) {
if (this.num == (((INum) obj).num)) {
return true;
} else {
return false;
}
}
}
class JavaPractice {
public static void main(String[] args) {
INum num1 = new INum(10);
INum num2 = new INum(12);
INum num3 = new INum(10);
if(num1.equals(num2)) {
System.out.println("num1 == num2");
}else {
System.out.println("num1 != num2");
}
if(num1.equals(num3)) {
System.out.println("num1 == num3");
}else {
System.out.println("num1 != num3");
}
}
}
[Console]
num1 != num2
num1 == num3
Object 클래스 >> equals
public boolean equals(Object obj) {
return (this == obj);
}
[Console]
num1 != num2
num1 != num3
INum의 주소 출력
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
[Console]
INum@4926097b
INum@762efe5d
INum@5d22bbb7
String str1 = new String("abc");
String str2 = new String("abc");
if (str1 == str2) {
System.out.println("true");
} else {
System.out.println("false");
}
if (str1.equals(str2)) {
System.out.println("true");
} else {
System.out.println("false");
}
[Console]
false
true
String 클래스 >> equals()
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String aString = (String)anObject;
if (coder() == aString.coder()) {
return isLatin1() ? StringLatin1.equals(value, aString.value)
: StringUTF16.equals(value, aString.value);
}
}
return false;
}
StringLatin1 클래스 >> equals()
public static boolean equals(byte[] value, byte[] other) {
if (value.length == other.length) {
for (int i = 0; i < value.length; i++) {
if (value[i] != other[i]) {
return false;
}
}
return true;
}
return false;
}
StringUTF16 클래스 >> equals()
public static boolean equals(byte[] value, byte[] other) {
if (value.length == other.length) {
int len = value.length >> 1;
for (int i = 0; i < len; i++) {
if (getChar(value, i) != getChar(other, i)) {
return false;
}
}
return true;
}
return false;
}
class Person extends Object{
private String name;
public Person(String name){
this.name = name;
}
public boolean equals(Object obj) {
if (this.name.equals(((Person) obj).name))
return true;
else
return false;
}
}
class JavaPractice {
public static void main(String[] args) {
Person p1 = new Person("홍길동");
System.out.println(p1.equals(new Person("홍길동")));
System.out.println(p1.equals(new Person("최명태")));
}
}
[Console]
true
false
public boolean equals(Object obj) {
if (this.name == ((Person) obj).name)
return true;
else
return false;
}
public boolean equals(Object obj) {
if(obj instanceof Person) {
Person p = (Person) obj;
if(this.name.equals(p.name))
return true;
}
return false;
}
class JavaPractice {
public static void main(String[] args) {
/* Boxing */
Integer iObj = 10;
// Integer iObj = new Integer(10);
Double dObj = 3.14;
// Double dObj = new Double(3.14);
System.out.println(iObj);
System.out.println(dObj);
System.out.println();
/* Unboxing */
int num1 = iObj;
double num2 = dObj;
System.out.println(num1);
System.out.println(num2);
}
}