10 Jul 2023 EffectiveJava
문자열(String)은 텍스트를 표현하도록 설계되었고, 그 일을 아주 멋지게 해낸다.
그렇지만 문자열은 워낙 흔하고 자바가 또 잘 지원해주어 원래 의도하지 않은 용도로 쓰이는 경향이 있다.
이러한 사례를 정리해 보도록 하자.
적절하지 않은 문자열의 사용
문자열은 다른 값 타입을 대신하기 적합하지 않다.
많은 사람이 파일,...
10 Jul 2023 EffectiveJava
자바의 데이터 타입은 크게 두가지로 나누어 진다.
- 기본타입 : int, double, boolean…
- 참조타입 : String, List…
각각의 기본 타입에는 대응하는 참조 타입이 하나씩 있으며, 이를 박싱된 기본 타입이라고 한다. int, double, boolean에 대응하는 박싱된 기본타입은 Integer, Double, Boolean 이다.
박싱된 기본타입
오토박싱과...
09 Jul 2023 EffectiveJava
float와 double 타입은 과학과 공학 계산용으로 설계되었다. 이진 부동소수점 연산에 쓰이며, 넓은 범위의 수를 빠르게 정밀한 ‘근사치’로 계싼하도록 세심하게 설계되었다.
정확한 결과가 필요할 때는 사용하면 안 된다. float와 double 타입은 특히 금융 관련 계산과는 맞지 않는다. 0.1 혹은 10의 음의 거듭 제곱 수(10⁻¹, 10⁻² 등)를...
09 Jul 2023 EffectiveJava
무작위 정수를 하나 생성하고 싶다고 해보자. 많은 프로그래머가 다음과 같은 짤막한 메서드를 만들곤 한다.
static Random rnd = new Random(); static int randon (int n) {...
09 Jul 2023 EffectiveJava
Item45에서 정리 했듯이, 스트림이 제격인 작업이 있고 반복문이 제격인 작업이있다.
이번에는 반복문(전통적인 for문)이 제격인 경우에 대해 정리해보도록 하자.
전통적인 for 문
다음은 컬렉션과 배열을 순회하는 전통적인 for문의 예시이다.
컬렉션 순회하기 - 더 나은 방법이 있다.