public static long sum(){
Long sum = 0L; (X)
long sum = 0L: (O)
//이 메서드가 위에 메서드에 비해 10배 정도 빠른 속도를 나타내었다.
//Boxing type을 남용하지 않도록 주의하는 것 뿐만 아니라, 의도치 않은 Auto Boxing을 조심하라
for(long i = 0; i < Integer.MAX_VALUE; i++{
sum += i;
}
return sum;
}
static boolean isEmailVaild(String s){
retur s.mathes("[a-zA-Z0-9.-]\\\\\.[a-zA-Z]{2,6}$");
}
public class EmailUtil{t
private static final Pattern EMAIL =
Pattern.complie("[a-zA-Z0-9.-]\\\\\.[a-zA-Z]{2,6}$");
static boolean isEmailValid(String s){
return EMAIL.matcher(s).matches();
}
}
유효 Scope 밖으로 넘어가면 자동으로 GC의 대상이 된다.
//Exception 시 Stack trace에 어려움이 있음
static void copy(String src, String dst) throws IOException{
InputStream in = new FileInputStream(src):
try{
OutputStream out = new FileOutputStream(src):
try{
...
}
}finally{
out.close();
}
}finally{
in.close();
}
public class Resource implements AutoCloseable{
@Override
public void close() throws Exception{
throw new Exception("...exception");
}
}
try (Resource r1 = new Resource();
Resource r1 = new Resource();){
throw new Exception("asd):
}