专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

IntelliJ IDEA 2025.1 最新变化:Java 24 和 IntelliJ IDEA

IntelliJ IDEA 自早期版本以来就支持 Java 24,并且在 后续版本 中添加了更多增强功能!

我经常被问到:“Java 24 最好的特性是什么?” 我的答案是?为什么只选一个?🙂

Java 24 继续通过诸如简单源文件和实例主方法模式中的原始类型、instanceof 和 switch模块导入声明灵活的构造函数主体以及API 增强等改进来增强语言。

Java 最大的优势之一是其可预测的六个月发布节奏,允许开发者定期探索正式版和预览版功能。然而,每六个月更新一次新功能可能会让人感到不知所措。在这篇博文中,我将带您了解 Java 24 的几个关键功能——它们是什么、如何使用它们以及 IntelliJ IDEA 如何支持它们。但首先,让我们确保您已做好正确的准备。


简单的源文件和实例主要方法(JEP 495)

隐式类和 import 语句、更短的 main() 方法、println() 以及输出值——让 Java 初学者更容易上手。如果您是一位经验丰富的开发者,这些功能可以帮助您使用更少的代码行创建脚本、游戏和实用程序。

如果您不熟悉此功能,建议您查看我的入门博文,以及详细的博文——Java 24:用更少的样板代码构建游戏、原型、实用程序等,其中详细介绍了此功能的实际用例。

使用实例 main 方法创建一个简单的源文件

使用 IntelliJ IDEA 创建并运行简单文件时,您可以像运行其他可执行类一样运行它(这样就无需指定编译或运行时命令行参数了)。如果您忘记将语言级别设置为 24,IntelliJ IDEA 可以检测到并提示您进行设置(如下所示):

new-proj.gif

将隐式类更改为常规类

当您准备升级并使用其他概念(例如用户定义类)时,可能需要将隐式类转换为常规类。您可以使用上下文操作“将隐式声明的类转换为常规类”,如下所示(此操作将添加相关的导入语句):

convert-to-reg-class.gif

将常规类转换为隐式类

有时,打包类可能更适合作为隐式类,因为它可能不使用常规类中的概念。如果是这样,您可以使用“转换为隐式声明的类”操作来实现(如下所示)。在转换过程中,IntelliJ IDEA 将删除不再需要的 import 语句:

explicit-to-implicit.gif


幕后——具有实例方法 main() 的隐式类

在后台,Java 编译器会创建一个隐式顶级类,它具有无参数构造函数,因此这些类不需要以不同于常规类的方式处理。

下面是一个 gif,向您展示了源代码文件 AnimateText.java 的反编译类(通过 IntelliJ IDEA 中的反编译器功能):

decompile.gif


与控制台交互 – println() 与 System.out.println() 调用

为了让新开发人员更轻松地与控制台交互,即将消息输出到控制台并从中读取输入,java.io.IO 在 Java 23 中创建了一个新类——它仅包含少量重载 readln()println() 方法(如下所示):

IO-class-struc.png

类会自动导入到隐式类中。因此,现在您可以使用 java.io.IO 来将消息输出到控制台(并使用 readln() 从控制台读取消息),而无需使用 System.out.println()


隐式类中的重载 main 方法

当你在隐式类中重载 main() 方法时,会有一个优先顺序来决定是否将其视为“唯一”main() 方法。以下所有方法都是隐式类中方法的有效签名:

public static void main(String[] args) {}
public void main(String[] args) {}
public static void main() {}
static void main() {}
public void main() {}
void main() {}

当您的隐式类中存在重载 main() 方法时,IntelliJ IDEA 会在正确或首选的“main”方法旁边显示运行图标:

which-main.gif


隐式类中缺少主要方法

如果在隐式类中没有检测到有效的 main 方法,IntelliJ IDEA 可以为您添加一个,如下面的 gif 所示:

create-a-main-method.gif


模式、instanceof 和 switch 中的原始类型(预览功能)

目前处于第二个预览阶段的“模式中的原始类型、instanceof 和 switch”功能,增强了 Java 的模式匹配能力,使得您可以直接将原始类型模式与 instanceofswitch 表达式结合使用,从而简化代码并减少手动类型转换的需求。

一个简单的例子

此功能使您能够在具有保护模式的 switch 表达式中使用原始类型,如下所示:

public String getHTTPCodeDesc(int code) {
    return switch(code) {
        case 100 -> "继续";
        case 200 -> "确定";
        case 301 -> "永久移动";
        case 302 -> "找到";
        case 400 -> "错误请求";
        case 500 -> "内部服务器错误";
        case 502 -> "错误网关";
        case int i when i > 100 && i < 200 -> "信息性";
        case int i when i > 200 && i < 300 -> "成功";
        case int i when i > 302 && i < 400 -> "重定向";
        case int i when i > 400 && i < 500 -> "客户端错误";
        case int i when i > 502 && i < 600 -> "服务器错误";
        default -> "未知错误";
    };
}

模块导入声明

在第二个预览版中,模块导入声明 允许您通过单个声明导入模块导出的所有包。它简化了模块库的复用,而无需将导入代码本身模块化。

假设您的代码包含多个导入语句:

import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.lang.reflect.*;
import java.nio.*;

这些可以用导入模块语句替换,如下所示:

import module java.base.*;

概括

Java 24 引入了一些关键增强功能,例如简单源文件、原始类型模式、模块导入声明和灵活的构造函数体。IntelliJ IDEA 自早期版本起就已支持 Java 24,并在后续版本中添加了更多增强功能!

IntelliJ IDEA 提供智能代码建议、无缝转换和强大的分析功能,简化了 Java 24 功能的采用。其支持功能可确保 Java 不断发展,提供顺畅的开发体验。

未经允许不得转载:搜云库 » IntelliJ IDEA 2025.1 最新变化:Java 24 和 IntelliJ IDEA

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们