Java.Utill

Shaun·2021년 8월 4일
0

JAVA

목록 보기
13/30

utill.Objects 클래스

  • object 클래스의 보조 클래스로 모든 메서드가 static이다
  • null체크에 유용하다.

- isNull()

-null이면 true 반환/ 아니면 false

- nonNull()

isNull() 과 정 반대이다.

requireNonNull(매개변수,메세지)

-해당 객체가 null이 아니어야 하는 경우에 사용

-만약 null이면 nullPointerException 발생

-두번쨰로 지정하는 매개변수 문자열은 예외의 메시지

objects - equals()/deepdEquals()

-object 클래스 equals 는 null 체크를 해줘야하고 objects 는 null체크가 필요없다.

-a.b. 둘다 모두 null인경우 참 반환

-deepEquals(a.b) 는 다차원 배열 비교할떄 사용

objects- toString(a)

objects- toString(a,b)

-equals() 처럼 내부적 null검사를 한다는 것 뱨고는 특별한 것이 없다.

-첫번쨰 a가 null일떄 대신 사용할 값을 b에 지정 할수있다.

objects- hashCode()

-내부적으로 null검사를 하고 object의 hasCode() 호출 (널일떄는 0반환)

utill.Random

난수를 얻는 방법은 크게 두가지가 있다.

1.Math.random()
2.Random 클래스 이용

  • double ranNum= Math.random();
  • double randNum=new Random().nextDouble();

    1~6 정수 반환

  • double ranNum= (int)(Math.random()*6)+1;

  • double ranNum= new Random.nextInt(6)+1;

math.random VS random클래스

  • 랜덤 클래스는 종자값(seed)를 설정 할수 있다. Random(loig seed)
  • 종자값이 같은 random인스턴스들은 같은 난수를 같은 순서로 반환한다.

util.Scanner 클래스

Scanner 은 화면,파일, 문자열 등 다양한 데이터를 받을수 있다.
또한 Scanner은 정규식 표현 을 이용한 라인단위의 검색을 지원하며 구분자 에도 정규식 표현 사용가능하다.

Scanner sc= new Scanner(System.in);
String input= sc.nextLine()
input=input.trim()
String[] argArr= input.split(" +")

scanner 파일받기

Scanner sc= new Scanner(new File("data.txt"));

while(sc.hasNextInt()){
sum+=sc.nextInt();
cnt++;

}
=data.txt. 로부터 합구하기

= 소스파일과 다른 디렉토리에 위치한 파일을 읽기 위해서는 파일명에 경로도 함께 지정해주어야 한다.

util.StringTokenizer 클래스

구분자(delimiter)을 기준으로 토큰 이라는 여러 개의 문자열로 잘라내는데 사용된다.

StringTokenizer 사용법

  • String split나 scanner의 useDelimiter 을 사용 할수도 있다.

  • stringTokenizer는 구분자로 단하나의 문자 밖에 사용하지 못하기 때문에 복잡한 형태의 구분자로 문자열을 나눌때는 어쩔 수 없이 정규식을 사용한다.

Split versus StringTokenizer

-> split()은 빈 문자열도 토큰으로 인식하는 반면 StringTokenzier 는 빈 문자열을 토큰으로 인식하지 않는다.

-> split()은 데이터를 토큰으로 잘라낸 결과를 배열에 담아서 반환하기 떄문에 데이터를 토큰으로 바로바로 잘라서 반환하는 StringTokenizer보다 성능이 떨어진다.

profile
호주쉐프에서 개발자까지..

0개의 댓글