news 2026/5/14 5:58:26

在 IntelliJ IDEA 中初始化 Java 类并设置所有属性的几种快捷方法:

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在 IntelliJ IDEA 中初始化 Java 类并设置所有属性的几种快捷方法:

在 IntelliJ IDEA 中初始化 Java 类并设置所有属性的几种快捷方法:

1.快速创建对象并调用 setter

方法一:使用.var后缀自动生成变量

// 输入以下内容后按 Tab new User() // 然后按 .var // IDEA 会生成: User user = new User(); // 或者直接输入: new User().var

方法二:通过构造函数初始化

// 1. 输入类名后: User user = new User( // 2. 按 Ctrl+P 查看构造函数参数提示 // 3. 如果已有构造函数,IDEA 会自动提示参数

2.快速生成对象初始化代码块

使用 "Alt+Insert" 生成构造函数调用

// 在需要创建对象的地方 Alt + Insert → 选择 Constructor // 然后选择要使用的构造函数

3.通过.new快速创建对象

// 输入类名后: User. // 然后按 Ctrl+Space 查看静态方法 // 如果有静态工厂方法,可以选择

4.使用 GenerateAllSetter 插件(强烈推荐)

这是一个专门用于快速初始化对象的插件:

安装插件:

Settings → Plugins → Marketplace 搜索 "GenerateAllSetter" 并安装

使用方式:

// 1. 先创建对象 User user = new User(); // 2. 在 user 上按 Alt+Enter // 3. 选择 "Generate all setter with default value" // 4. 插件会自动生成所有 setter 调用

生成结果:

User user = new User(); user.setName(""); user.setAge(0); user.setEmail(""); // 所有属性都已设置默认值

高级用法:

// Alt+Enter 后可以选择: 1. Generate all setter with default value 2. Generate all setter with 'null' 3. Generate all setter with '""' (字符串用空字符串) 4. Generate all setter with '0' (数值用0)

5.快速生成 Builder 模式初始化

如果类使用了 Lombok @Builder:

// 输入: User.builder() // 然后 .var // 生成: User user = User.builder() .name("") .age(0) .email("") .build(); // 或者使用 .builder User.builder().builder

6.通过测试快速生成

// 在测试类中 @Test public void testUser() { // 输入: User user = new User(); // 然后在 user 上按 Alt+Enter // 选择 "Generate setter calls for properties" }

7.使用自定义 Live Template

创建快速初始化的模板:

  1. Settings → Editor → Live Templates

  2. 创建新模板,例如 "initobj"

// 模板文本: $CLASS$ $OBJ$ = new $CLASS$(); $END$ // 设置变量
  1. 设置快捷键:比如init

8.链式调用快速补全

User user = new User() .setName("") // 输入 .set 后按 Ctrl+Space .setAge(0) // IDEA 会自动提示可用的 setter .setEmail("");

9.通过 Alt+Enter 生成构造函数调用

// 输入类名 User // 然后按 Alt+Enter // 选择 "Create constructor matching super" // 或者 "Create missing constructor"

10.快速创建 Map 到对象的转换

Map<String, Object> map = new HashMap<>(); map.put("name", "张三"); map.put("age", 25); // 在 map 上按 Alt+Enter // 选择 "Convert to object" (需要插件支持)

实用示例

示例 1:使用 GenerateAllSetter

// 创建对象 User user = new User(); // 按 Alt+Enter,选择 "Generate all setter with default value" // 结果: User user = new User(); user.setId(0L); user.setUsername(""); user.setPassword(""); user.setEmail(""); user.setCreatedAt(null);

示例 2:链式调用

// 如果类支持链式调用(@Accessors(chain = true)) User user = new User() .setName("").setAge(0).setEmail(""); // 可以连续调用

最佳实践建议

  1. 安装 GenerateAllSetter 插件​ - 这是最快的方法

  2. 使用 Lombok @Builder​ - 最优雅的方式

  3. 创建自定义模板​ - 针对常用类

快捷键总结

操作

快捷键

自动生成变量

.var+ Tab

查看构造函数参数

Ctrl+P

代码补全

Ctrl+Space

快速修复/生成

Alt+Enter

生成代码

Alt+Insert

最快捷的方式:安装GenerateAllSetter​ 插件,然后:

  1. 创建对象:User user = new User();

  2. 光标放在user

  3. Alt+Enter

  4. 选择生成选项

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 5:57:57

环境治理AI:异常检测在基础设施污染源的自动定位工具

随着城市化进程加速&#xff0c;基础设施&#xff08;如污水处理厂、能源管网&#xff09;的污染源监控面临海量数据分析和实时响应挑战。传统人工检测效率低下&#xff0c;而AI驱动的异常检测技术正成为变革性解决方案&#xff0c;其核心逻辑与软件测试中的缺陷定位高度相似—…

作者头像 李华
网站建设 2026/5/14 2:27:39

汽车仿真系统如何用wangEditor控件导入CAE分析报告截图?

川式PHP程序员のCMS编辑器魔改日记&#xff08;附红包代码&#xff09; 一、需求辣评 “客户要Word一键粘贴&#xff0c;还要保留MathType公式&#xff01;”——这需求比让我用PHP写线程还魔幻&#xff01;不过咱是谁&#xff1f;川渝PHP裁缝王&#xff0c;左手Vue3&#xf…

作者头像 李华
网站建设 2026/5/14 2:27:52

有没有ASP.NET示例代码展示大文件的目录结构断点续传?

《一个卑微.NET程序员接的离谱外包项目》 大家好&#xff0c;我是一个挣扎在深圳温饱线的.NET程序员。最近接了个外包项目&#xff0c;客户要求那叫一个刺激…让我用原生JS实现20G大文件上传下载&#xff0c;还得兼容IE8&#xff01;预算100块还要求7*24小时服务&#xff01;来…

作者头像 李华
网站建设 2026/5/14 2:28:50

交叉编译(一)

1. Makefile的含义• Makefile 是一种用于管理和自动化软件编译过程的文本文件&#xff0c;也就是说Makefile 类似是“自动化的做菜食谱”——告诉电脑用哪些原料&#xff08;源文件&#xff0c;语句&#xff09;、按什么步骤&#xff08;编译/链接命令&#xff09;&#xff0c…

作者头像 李华
网站建设 2026/5/14 2:27:33

【春招必看】一次性入门openlayers和cesium两个地图开发框架

春节过后&#xff0c;即将迎来26年毕业季&#xff0c;选择就业的同学&#xff0c;如果还没拿到offer&#xff0c;就要开始准备26年春招了。如果想找WebGIS相关的岗位&#xff0c;可以通过招聘信息&#xff0c;了解到企业的具体要求。其中&#xff0c;openlayers和cesium有多重要…

作者头像 李华
网站建设 2026/5/10 5:39:18

LLM 联网搜索,到底是咋回事?

0x0 序 近段时间 DeepSeek 的服务火遍了全网&#xff0c;无论是使用网页还是使用 App 都能享受到 深度思考 联网搜索 的至尊体验。奈何免费的东西往往是需要排队的&#xff0c;从年开始 DeepSeek 的服务就一度处于不可用状态&#xff0c;就算是年后&#xff0c;网络搜索也是经…

作者头像 李华