JDK新特性

一、jdk1.8新特性

1、Lambda表達式

List list = Arrays.asList(1, 2, 3, 4, 5);
list.forEach(n -> System.out.println(n));

2、方法引用

List list = Arrays.asList("Java", "Python", "C++", "PHP");
list.forEach(System.out::println);

3、Stream API

List list = Arrays.asList(1, 2, 3, 4, 5);
int sum = list.stream().filter(i -> i % 2 == 0).mapToInt(Integer::intValue).sum();
System.out.println("Sum of even numbers: " + sum);

二、jdk18新特性有哪些

1、類型註解

在方法參數、局部變量、泛型類等上面添加註解。

public  void genericMethod(T[] tArray) { 
   List list = new ArrayList(); 
   ...
}

2、重複註解

相同類型的註解可以在同一位置上重複使用。

@FavoriteFruits({@Fruit(name = "apple", color = "red"), @Fruit(name = "banana", color = "yellow")})
public class Person {
   ...
}

@Repeatable(FavoriteFruits.class)
@interface Fruit {
   String name();
   String color();
}

@Retention(RetentionPolicy.RUNTIME)
@interface FavoriteFruits {
   Fruit[] value();
}

3、類型推斷(var關鍵字)

聲明變量時,可以使用var關鍵字進行類型推斷。

var list = new ArrayList(Arrays.asList("Java", "Python", "C++", "PHP"));
var stream = list.stream();

三、jdk11新特性

1、局部類型推斷

在lambda表達式、try-with-resources語句中使用var。

var list = Arrays.asList(1, 2, 3, 4, 5);
var evenList = list.stream().filter(i -> i % 2 == 0).collect(Collectors.toList());
try (var inputStream = new FileInputStream("file.txt")) {
    ...
}

2、字符串API增強

新增isBlank、lines、strip、stripLeading、stripTrailing等方法。

String str = "  hello world  ";
System.out.println(str.isBlank());
System.out.println(str.strip());
System.out.println(str.stripLeading());
System.out.println(str.stripTrailing());
System.out.println(str.lines().count());

3、HTTP客戶端API

新增HttpClient類,可以用來進行HTTP/2協議的請求。

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("https://www.baidu.com"))
        .GET()
        .build();
HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());

以上是JDK新特性的一些亮點,現在的Java版本越來越強大,不斷更新完善的特性也為我們開發提供了更多的選擇。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/231686.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-11 01:06
下一篇 2024-12-11 01:06

相關推薦

  • JDK Flux 背壓測試

    本文將從多個方面對 JDK Flux 的背壓測試進行詳細闡述。 一、Flux 背景 Flux 是 JDK 9 對響應式編程的支持。它為響應式編程提供了一種基於推拉模型的方式,以支持…

    編程 2025-04-29
  • jmap是jdk裏面的嗎?

    jmap是JDK中的命令行工具,用於生成Java進程的堆轉儲快照。它是一個非常有用的工具,可以用於發現應用程序的內存泄漏和瓶頸。 一、jmap的作用 jmap是一個基於Java應用…

    編程 2025-04-28
  • burpsuite 免jdk

    burpsuite 可以說是滲透測試中最常用的一款工具之一,它可以幫助我們攔截和修改HTTP請求,還可以對這些請求進行分析和測試。而在使用過程中,我們有時會遇到一些坑點,比如安裝需…

    編程 2025-04-27
  • 深入理解ES5新特性

    ES5是ECMAScript5的簡稱,它是JavaScript的一種標準,自2009年推出以來一直被廣泛使用。相比之前的版本,ES5帶來了許多新特性和更好的語法支持。在本文中,將會…

    編程 2025-04-25
  • CentOS 7安裝JDK 1.8詳解

    一、下載JDK 1.8安裝文件 首先,為了在CentOS 7上安裝JDK 1.8,我們需要從官方網站(http://www.oracle.com/technetwork/java/…

    編程 2025-04-25
  • 配置JDK的環境變量Win10

    一、下載JDK 在進行環境配置前,需要先下載對應的JDK。首先需要確認自己的Windows系統的位數(32位或者64位),然後從官網下載相應的JDK安裝包。 下載鏈接:https:…

    編程 2025-04-25
  • Mac如何卸載JDK

    如果你在Mac上安裝了多個版本的Java Development Kit(JDK),或者需要清理舊的JDK安裝程序,那麼本文將為你提供解決方案。我們將從如何卸載JDK的基礎知識開始…

    編程 2025-04-24
  • Java8新特性概述

    Java8是Java語言發行版的一個主要版本,Java8於2014年3月發佈,引入了許多新功能和語言特性。其中,最受歡迎和最重要的之一就是Lambda表達式。 一、Lambda表達…

    編程 2025-04-24
  • JDK-8u181-Linux-x64

    JDK-8u181-Linux-x64是一款在Linux平台下使用的一種工具開發包,該開發包包含了Java代碼的編譯器、庫文件、Java運行環境以及其他一些實用的工具。 一、安裝J…

    編程 2025-04-24
  • JDK怎麼卸載乾淨

    在進行開發時,安裝JDK是必要的,而有時候又需要將其卸載,但很多人不知道怎麼卸載才能保證乾淨,下面從多個方面介紹JDK如何卸載乾淨。 一、檢查JDK版本 在卸載JDK之前,需要確認…

    編程 2025-04-23

發表回復

登錄後才能評論