Java 8과 Java 11의 차이
차이점이 궁금했던 이유?
21년부터 프로그래밍을 배우기 시작했는데 처음에 Java 8로 시작했다.
그때 들었던 이유는 'Java 8을 회사에서 많이 사용하고 있다. 왜냐하면 안정적이고 각종 버전 문제도 있고 Java 8까지만 지원하는 기술도 많아서 Java 8을 써야 한다.' 였다.
최근에 개인 프로젝트를 진행하면서 사소한 버전 충돌이라는 것을 자주 겪으면서 버전의 중요성에 대해 진지하게 생각하게 되었는데 이런 복잡한 충돌 문제를 아직 스스로 해결할 수 없다면 차라리 그냥 Java 8을 쓰는 게 낫다는 생각이 들기도 했다.
근데 생각해보니 나는 이번에 개인 프로젝트 때 Java 11을 사용했었고 뒤늦게 내가 Java 8과 Java 11의 차이점도 모르고 사용하고 있었다는 생각이 들면서 Java 8과 Java 11의 차이점을 이 참에 알아봤는데 변경 사항에 대한 내용을 내가 다 이해하긴 어려웠지만 그래도 이해할 수 있는 부분과 유익하다고 생각되는 부분을 체크해 봤다.
차이점
String 클래스 메서드가 추가
- isBlank() : 문자열이 비거나 공백일 경우 true 반환
- lines() : 문자열을 줄 단위로 쪼개어 스트림 반환
- repeat(n) : 문자열에 대해 n번 반복하여 붙여 반환
- stripLeading() : 문자열 앞 공백 제거
- stripTrailing() : 문자열 뒤 공백 제거
- strip() : 문자열 양쪽 공백 제거
File 클래스 메서드가 추가
- writeString() : 파일에 문자열을 쓰고 경로로 반환
- readString() : 파일 내용을 String으로 반환
- isSameFile() : 서로 같은 파일을 바라보는지 확인. 같은 파일이면 true, 아니면 false 반환
이 외
- 람다에서 var 변수 사용이 가능해졌다.
- Java 8 이후 새로운 기능이 다수 추가되었고, 기능 향상이 있었다. API에 대한 추가와 수정 사항이 있고, 시작, 성능 메모리 사용을 개선하는 향상된 기능이 있어서 Java 11로 넘어가는 게 더 좋을 수도 있다.
참고
Java 11버전으로 넘어가야 하는 이유에 대해서
JDK 11 특징 및 정리