Latest web development tutorials
×

Java หลักสูตร

Java หลักสูตร Java แนะนำโดยย่อ Java การกำหนดค่าการพัฒนาสภาพแวดล้อม Java พื้นฐานไวยากรณ์ Java วัตถุและการเรียน Java ชนิดข้อมูลพื้นฐาน Java ประเภทตัวแปร Java การปรับเปลี่ยน Java ผู้ประกอบการ Java โครงสร้างห่วง Java สาขาโครงสร้าง Java Number หมวดหมู่ Java Character หมวดหมู่ Java String หมวดหมู่ Java StringBuffer Java แถว Java วันที่เวลา Java นิพจน์ปกติ Java ทาง Java Stream,File,IO Java Scanner หมวดหมู่ Java การจัดการข้อยกเว้น

Java เชิงวัตถุ

Java สืบทอด Java Override/Overload Java polymorphism Java ระดับนามธรรม Java บรรจุภัณฑ์ Java อินเตอร์เฟซ Java บรรจุภัณฑ์

Java การสอนที่ทันสมัย

Java โครงสร้างข้อมูล Java คอลเลกชันกรอบ Java ยาชื่อสามัญ Java การทำให้เป็นอันดับ Java เขียนโปรแกรมเครือข่าย Java ส่ง Email Java การเขียนโปรแกรมแบบมัลติเธรด Java Appletรากฐาน Java เอกสารความคิดเห็น Java ตัวอย่าง Java 8 คุณสมบัติใหม่ Java MySQL สัมพันธ์

Java 8 เลือกเรียน

Java 8 คุณสมบัติใหม่ Java 8 คุณสมบัติใหม่


ตัวเลือกระดับเป็นวัตถุภาชนะที่สามารถจะเป็นโมฆะ ถ้าค่าที่มีอยู่ isPresent () วิธีการส่งกลับจริงเรียกได้ () วิธีการส่งกลับวัตถุ

ตัวเลือกเป็นภาชนะ: มันสามารถเก็บค่าประเภท T, หรือเพียงแค่บันทึก null ข้อเสนอเป็นตัวเลือกวิธีที่มีประโยชน์มากมายดังนั้นเราจึงไม่ได้ดำเนินการตรวจหาค่า null อย่างชัดเจน

แนะนำตัวเลือกของการเรียนเป็นทางออกที่ดียกเว้นชี้โมฆะ

ประกาศคลาส

ต่อไปนี้เป็นคำสั่ง<T> ระดับ java.util.Optional:

public final class Optional<T>
extends Object

วิธีการเรียน

เลขที่ วิธีการและคำอธิบาย
1 คง <T> ตัวเลือก <T> ว่าง ()

เช่นตัวเลือกกลับว่างเปล่า

2 เท่ากับบูลีน (obj Object)

การพิจารณาว่าวัตถุอื่นเท่ากับเป็นตัวเลือก

3 ตัวเลือก <T> ตัวกรอง (กริยา < ? ซูเปอร์ <T> คำกริยา)

ถ้าค่าที่มีอยู่และความคุ้มค่านี้ตรงกับคำกริยาได้รับผลตอบแทนคำอธิบายตัวเลือกสำหรับค่านี้มิฉะนั้นจะส่งกลับว่างเปล่าเป็นตัวเลือก

4 <u> ตัวเลือก <u> flatMap (ฟังก์ชั่ <? ซูเปอร์ T, ตัวเลือก <U >> Mapper)

ถ้าค่าอยู่ค่าส่งกลับวิธีการจับคู่เป็นตัวเลือกที่มีอยู่นี้จะขึ้นอยู่มิฉะนั้นจะส่งกลับว่างเปล่าเป็นตัวเลือก

5 t ได้ ()

หากคุณรวมค่าในตัวเลือกค่าตอบแทนนี้มิฉะนั้นยกเว้นจะโยน: NoSuchElementException

6 int hashCode ()

ส่งคืนค่ารหัสกัญชาที่มีอยู่กลับ 0 ถ้าค่าไม่ได้อยู่

7 เป็นโมฆะ ifPresent (Consumer <? ซุปเปอร์ T > ผู้บริโภค)

หากมีค่าเป็นมูลค่าปัจจุบันจะใช้ในการเรียกร้องของผู้บริโภคเป็นอย่างอื่นไม่ทำอะไรเลย

8 isPresent บูลีน ()

ถ้าค่าที่มีอยู่วิธีการส่งกลับจริงมิฉะนั้นกลับเท็จ

9 <u> ตัวเลือก <u> แผนที่ (ฟังก์ชั่ <? ซูเปอร์ T,? ขยาย u> Mapper)

ถ้าค่าของวิธีการทำแผนที่ที่แสดงตนที่ให้ไว้ถ้ามันส่งกลับ null ไม่ใช่ผลตอบแทนคำอธิบายตัวเลือก

10 คง <T> ตัวเลือก <T> ของ (T คุ้มค่า)

ส่งกลับตัวเลือกค่าที่ไม่ใช่ null ระบุ

11 คง <T> ตัวเลือก <T> ofNullable (T คุ้มค่า)

ถ้าไม่ใช่ null กลับค่าที่ระบุอธิบายตัวเลือกมิฉะนั้นตัวเลือกที่ว่างเปล่า

12 T orElse (T อื่น ๆ )

ถ้าค่าอยู่ค่าตอบแทนอื่น ๆ อื่น ๆ

13 T orElseGet (ผู้ผลิต <? ขยาย T > อื่น ๆ )

ถ้าค่าอยู่ค่าตอบแทนอย่างอื่นเรียกอื่น ๆ และผลตอบแทนการเรียกร้องอื่น ๆ

14 <X ขยาย Throwable> T orElseThrow ( ผู้ผลิต <? ขยาย X> exceptionSupplier)

หากมีค่าเป็นปัจจุบันค่าตอบแทนมีโยนเป็นอย่างอื่นโดยผู้ผลิตได้รับการถ่ายทอดความผิดปกติ

15 String toString ()

ส่งกลับสตริงไม่ว่างเปล่าที่เลือกใช้ในการแก้ปัญหา

หมายเหตุ: วิธีการเหล่านี้ได้รับมาจากชั้น java.lang.Objectมา


ตัวอย่างตัวเลือก

เราสามารถผ่านตัวอย่างต่อไปนี้เพื่อทำความเข้าใจการใช้งานของการเรียนไม่จำเป็น:

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 - 允许传递为 null 参数
      Optional<Integer> a = Optional.ofNullable(value1);
		
      // Optional.of - 如果传递的参数是 null,抛出异常 NullPointerException
      Optional<Integer> b = Optional.of(value2);
      System.out.println(java8Tester.sum(a,b));
   }
	
   public Integer sum(Optional<Integer> a, Optional<Integer> b){
	
      // Optional.isPresent - 判断值是否存在
		
      System.out.println("第一个参数值存在: " + a.isPresent());
      System.out.println("第二个参数值存在: " + b.isPresent());
		
      // Optional.orElse - 如果值存在,返回它,否则返回默认值
      Integer value1 = a.orElse(new Integer(0));
		
      //Optional.get - 获取值,值需要存在
      Integer value2 = b.get();
      return value1 + value2;
   }
}

การดำเนินงานของสคริปดังกล่าวข้างต้นออกเป็น:

$ javac Java8Tester.java 
$ java Java8Tester
第一个参数值存在: false
第二个参数值存在: true
10

Java 8 คุณสมบัติใหม่ Java 8 คุณสมบัติใหม่