当前位置: 首页 > news >正文

在 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. 选择生成选项

http://www.jsqmd.com/news/366723/

相关文章:

  • 2026AI大模型学习路线,只看这一篇就够了!大模型应用开发就这么简单!收藏这一篇就够了
  • libero PolarFire soc SPI-DirectC 实战 dp_G5M_set_mode
  • [无线通信基础-36]:通信系统中的噪声种类与表达方式,通俗易懂
  • 2025-2026大模型落地指南:收藏!小白/程序员必看AI Agent核心算法与生态进展
  • 2026年GEO服务商深度评测:市场格局、技术路径与科学选型指南 - 品牌策略主理人
  • 2026 佛山英语雅思培训教育机构推荐;雅思培训课程中心权威口碑榜单 - 苏木2025
  • 成都全包装修|成都里林设计一站式全包服务 全案落地 + 先装后付,省心装出高品质家 - 推荐官
  • 汽车仿真系统如何用wangEditor控件导入CAE分析报告截图?
  • 成都装修设计工作室|成都里林设计 本土深耕以设计赋能,全维服务打造理想人居 - 推荐官
  • CSDN大模型学习指南:小白程序员必备的8大原则,助你轻松掌握AI产品开发精髓!(收藏版)
  • AI工作流实战:从原型到代码,1小时搞定两周前端开发!程序员/产品小白必看
  • 2026 中山英语雅思培训教育机构推荐,雅思培训课程中心权威口碑榜单 - 苏木2025
  • 基于ASP.NET的大文件上传控件是否支持跨平台断点续传?
  • Ubuntu下采用Qemu模拟器模拟开发板进行嵌入式开发
  • Avalonia.Controls.DataGrid自动合并列 - 生命体验之kevin
  • 成都二手房装修|成都里林设计专属翻新方案 先装修后付款解锁蓉城家装新体验 - 推荐官
  • 成都半包装修|里林设计专属半包服务 主材自主选 + 精工辅材造,高性价比装出理想家 - 推荐官
  • 2026 佛山英语雅思培训教育机构推荐:雅思培训课程中心权威口碑榜单 - 苏木2025
  • 电机NVH计算,及其适合新入门的uu,按照以前SCI二区的流程做的(图二),联系模型对照自己做...
  • 不会用Gemini的硕博生,注定要吃更多苦。一文汇总Gemini 3.0 Flash科研技巧
  • 不安全通信实现安全传输-stunnel
  • DeepSeek总结的PostgreSQL 数组的隐藏成本
  • ue 隐藏内衣教程
  • 电影推荐系统 | Python Django 协同过滤算法 Echarts可视化开发 大数据 人工智能 deepseek 毕业设计源码(建议收藏)✅
  • Deepseek+RD-Agent 自动化模型生成及进化
  • Vue插槽(Slot)全分类解析
  • 成都旧房翻新|成都里林设计一站式翻新服务 先装修后付款让蓉城业主更安心 - 推荐官
  • 2026年全国男士假发品牌哪家专业?多家品牌实力拆解与场景适配指南 - 深度智识库
  • 2026 保定英语雅思培训教育机构推荐/雅思培训课程中心权威口碑榜单 - 苏木2025
  • ICG-DOTA-NHS酯,ICG-DOTA SE荧光标记的关键“桥梁”