산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java 8 - 선택적 클래스

선택적은 null이 아닌 개체를 포함하는 데 사용되는 컨테이너 개체입니다. 선택적 개체는 값이 없는 null을 나타내는 데 사용됩니다. 이 클래스에는 null 값을 확인하는 대신 '사용 가능' 또는 '사용 불가능'으로 값을 처리하는 코드를 용이하게 하는 다양한 유틸리티 메서드가 있습니다. Java 8에 도입되었으며 Guava의 Optional과 유사합니다.

클래스 선언

다음은 java.util.Optional에 대한 선언입니다. 클래스 -

public final class Optional<T> extends Object

클래스 메소드

시니어 번호 방법 및 설명
1

정적 선택사항 empty()

빈 Optional 인스턴스를 반환합니다.

2

부울 등호(객체 obj)

일부 다른 개체가 이 선택 항목과 "동일한"지 여부를 나타냅니다.

3

선택적 필터(Predicate predicate)

값이 있고 값이 주어진 술어와 일치하면 값을 설명하는 Optional을 반환하고 그렇지 않으면 빈 Optional을 반환합니다.

4

선택사항 flatMap(Function> 매퍼)

값이 있으면 제공된 Optional 베어링 매핑 기능을 적용하고 해당 결과를 반환하고 그렇지 않으면 빈 Optional을 반환합니다.

5

얻기()

이 Optional에 값이 있으면 값을 반환하고, 그렇지 않으면 NoSuchElementException을 발생시킵니다.

6

int hashCode()

현재 값의 해시 코드 값(있는 경우) 또는 값이 없는 경우 0(영)을 반환합니다.

7

void ifPresent(소비자 소비자)

값이 있으면 값으로 지정된 소비자를 호출하고, 그렇지 않으면 아무 작업도 수행하지 않습니다.

8

부울 isPresent()

값이 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

9

선택적 map(Function mapper)

값이 있으면 제공된 매핑 함수를 적용하고 결과가 null이 아니면 결과를 설명하는 Optional을 반환합니다.

10

정적 선택 of(T 값)

현재 null이 아닌 값이 지정된 Optional을 반환합니다.

11

정적 선택적 ofNullable(T 값)

null이 아닌 경우 지정된 값을 설명하는 Optional을 반환하고, 그렇지 않으면 빈 Optional을 반환합니다.

12

또는 기타(기타)

값이 있으면 반환하고 그렇지 않으면 다른 값을 반환합니다.

13

T orElseGet(Supplier other)

존재하는 경우 값을 반환하고, 그렇지 않으면 other를 호출하고 해당 호출의 결과를 반환합니다.

14

T orElseThrow(Supplier exceptionSupplier)

포함된 값이 있으면 반환하고, 그렇지 않으면 제공된 공급자가 생성할 예외를 throw합니다.

15

문자열 toString()

디버깅에 적합한 이 Optional의 비어 있지 않은 문자열 표현을 반환합니다.

이 클래스는 다음 클래스의 메소드를 상속합니다 -

선택적 예시

예를 들어 C:\> JAVA.

에서 원하는 편집기를 사용하여 다음 Java 프로그램을 만듭니다.

Java8Tester.java

라이브 데모
import java.util.Optional;

public class Java8Tester {

   public static void main(String args[]) {
      Java8Tester java8Tester = new Java8Tester();
      Integer value1 = null;
      Integer value2 = new Integer(10);
		
      //Optional.ofNullable - allows passed parameter to be null.
      Optional<Integer> a = Optional.ofNullable(value1);
		
      //Optional.of - throws NullPointerException if passed parameter is null
      Optional<Integer> b = Optional.of(value2);
      System.out.println(java8Tester.sum(a,b));
   }
	
   public Integer sum(Optional<Integer> a, Optional<Integer> b) {
      //Optional.isPresent - checks the value is present or not
		
      System.out.println("First parameter is present: " + a.isPresent());
      System.out.println("Second parameter is present: " + b.isPresent());
		
      //Optional.orElse - returns the value if present otherwise returns
      //the default value passed.
      Integer value1 = a.orElse(new Integer(0));
		
      //Optional.get - gets the value, value should be present
      Integer value2 = b.get();
      return value1 + value2;
   }
}

결과 확인

javac를 사용하여 클래스 컴파일 다음과 같이 컴파일러 -

C:\JAVA>javac Java8Tester.java

이제 다음과 같이 Java8Tester를 실행하십시오 -

C:\JAVA>java Java8Tester

다음 출력을 생성해야 합니다 -

First parameter is present: false
Second parameter is present: true
10

java

  1. 자바 최종 키워드
  2. 자바 instanceof 연산자
  3. 자바 중첩 정적 클래스
  4. 자바 익명 클래스
  5. 자바 싱글톤 클래스
  6. 자바 리플렉션
  7. 자바 ObjectOutputStream 클래스
  8. 자바 제네릭
  9. 자바 파일 클래스
  10. Java 9 - 선택적 클래스 개선 사항