본문 바로가기
  • soobinhand의 기술 블로그
도서/자바 프로그래밍 언어 - James Gosling

[자바 프로그래밍 언어] 22장 기타 유틸리티

by soobinhand 2022. 1. 10.
728x90

22.1     Formatter

  • Formatter 클래스는 기본 값과 객체를 텍스트로 표현할 수 있게 해준다. 객체나 값을 텍스트로 표현하는 일반적인 방법은 객체의 toString 메소드나 적절한 래퍼 클래스의 toString 메소드를 사용하여 객체나 값을 문자열로 변환하는 것이다. 
  • Formatter를 사용하면 텍스트를 원하는 형식으로 변환할 수 있다.
  • Formatter 객체의 주요 메소드는 format 메소드이다. 이 메소드의 가장 단순한 형식은 포맷 문자열과 포맷하고 싶은 객체나 값들을 인자로 받는다.
  • 포맷 지정자는 % 문자로 시작하며 수행할 변환 타입을 지시하는 문자로 끝난다.
  • f 변환 지시자는 인자로 10진수 형식으로 변환될 부동 소수점 값이 와야 한다.
  • e 변환 지시자는 결과를 기수법으로 변환하는 부동 소수점 변환 지시자이다. ( 3.14E+00 )
  • 다른 변환 지시자에는 정수를 10진수 형식으로 표현하는 d와 정수를 16진수 형식으로 표현하는 x 그리고 문자열과 일반 객체 변환을 위한 s가 있다.
  • % 변환 지시자는 %를 출력하기 위해 사용된다. 포맷 지정자 %%는 %를 출력한다.
  • 문자나 숫자 변환을 위한 포맷 지정자의 일반적인 형식은 아래와 같다.
  • %[인자인덱스][flags][width][.precision]변환지시자
  • %와 변환 지시자를 제외하고는 모두 선택 사항이다.
  • 인자 인덱스는 포맷 지정자가 어느 인자에 적용되는지를 나타내는 선택적 지시자이다. 첫 번째 형식은 적용할 인자를 지시하는 숫자가 나오고 그 뒤에 $ 문자가 나오며 두 번째 형식은 바로 앞의 포맷 지정자와 동일한 인자를 의미하는 < 문자가 나온다.

22.2     BitSet

  • BitSet 클래스는 동적으로 증가하는 비트 벡터를 생성하는 방법을 제공한다.

22.3     Observer / Observable

  • Observer / Observable 타입은 Observer 객체가 Observable 객체에서 발생하는 변화와 이벤트를 감시할 수 있는 규약을 제공한다.

22.4     Random

  • Random 클래스는 독립적으로 의사 난수 시퀀스를 관리하는 객체를 생성한다.

22.5     Scanner

  • Scanner 클래스는 파일에서 포맷된 데이터를 읽을 수 있게 해준다.

22.6     StringTokenizer

  • StringTokenizer 클래스는 Scanner 클래스보다 오래되었으며 더 단순하다. StringTokenizer는 문자열을 구분자를 사용하여 각 부분별로 분리할 수 있다. 문자열을 토큰으로 분리한 것은 실제로 토큰들의 순서화된 열거 타입이라고 볼 수 있다. 그래서 StringTokenizer는 Enumeration 인터페이스를 구현한다.
  • public StringTokenizer(String str, String delim)
  • 구분자 집합으로 delim의 문자들을 사용하며 문자열 str에서 수행되는 StringTokenizer를 생성한다.
  • public boolean hasMoreTokens()
  • 토큰이 더 있다면 true
  • public String nextToken()
  • 문자열의 다음 토큰을 반환

22.7     Timer와 TimerTask

  • Timer 클래스는 미래의 어떤 시점에 수행하거나 반복적으로 실행할 작업을 설정할 수 있게 해준다.

22.8     UUID

  • UUID클래스는 범용 유일 식별자를 표현하는 불변 객체를 제공한다.

22.9     Math와 StrictMath

  • Math클래스는 일반적인 부동 소수점 의미를 사용하여 수학 연산을 수행하는 정적 상수와 메소드를 정의한다.
  • StrictMath 클래스는 Math 클래스와 동일한 상수와 메소드를 정의하고는 있지만 특수한 알고리즘을 사용한다. 그래서 StrictMath의 메소드는 서로 다른 가상 머신에서도 항상 동일한 값을 반환한다.
728x90

댓글