IntelliJ?IDEA中初始化Java類的常用快捷方法詳解
在 IntelliJ IDEA 中初始化 Java 類并設(shè)置所有屬性的幾種快捷方法:
1.快速創(chuàng)建對(duì)象并調(diào)用 setter
方法一:使用.var后綴自動(dòng)生成變量
// 輸入以下內(nèi)容后按 Tab new User() // 然后按 .var // IDEA 會(huì)生成: User user = new User(); // 或者直接輸入: new User().var
方法二:通過構(gòu)造函數(shù)初始化
// 1. 輸入類名后: User user = new User( // 2. 按 Ctrl+P 查看構(gòu)造函數(shù)參數(shù)提示 // 3. 如果已有構(gòu)造函數(shù),IDEA 會(huì)自動(dòng)提示參數(shù)
2.快速生成對(duì)象初始化代碼塊
使用 "Alt+Insert" 生成構(gòu)造函數(shù)調(diào)用
// 在需要?jiǎng)?chuàng)建對(duì)象的地方 Alt + Insert → 選擇 Constructor // 然后選擇要使用的構(gòu)造函數(shù)
3.通過.new快速創(chuàng)建對(duì)象
// 輸入類名后: User. // 然后按 Ctrl+Space 查看靜態(tài)方法 // 如果有靜態(tài)工廠方法,可以選擇
4.使用 GenerateAllSetter 插件(強(qiáng)烈推薦)
這是一個(gè)專門用于快速初始化對(duì)象的插件:
安裝插件
Settings → Plugins → Marketplace
搜索 "GenerateAllSetter" 并安裝
使用方式
// 1. 先創(chuàng)建對(duì)象 User user = new User(); // 2. 在 user 上按 Alt+Enter // 3. 選擇 "Generate all setter with default value" // 4. 插件會(huì)自動(dòng)生成所有 setter 調(diào)用
生成結(jié)果:
User user = new User();
user.setName("");
user.setAge(0);
user.setEmail("");
// 所有屬性都已設(shè)置默認(rèn)值高級(jí)用法
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' (數(shù)值用0)
5.快速生成 Builder 模式初始化
如果類使用了 Lombok @Builder:
// 輸入:
User.builder() // 然后 .var
// 生成:
User user = User.builder()
.name("")
.age(0)
.email("")
.build();
// 或者使用 .builder
User.builder().builder6.通過測(cè)試快速生成
// 在測(cè)試類中
@Test
public void testUser() {
// 輸入:
User user = new User();
// 然后在 user 上按 Alt+Enter
// 選擇 "Generate setter calls for properties"
}7.使用自定義 Live Template
創(chuàng)建快速初始化的模板:
Settings → Editor → Live Templates
創(chuàng)建新模板,例如 "initobj"
// 模板文本: $CLASS$ $OBJ$ = new $CLASS$(); $END$ // 設(shè)置變量
設(shè)置快捷鍵:比如 init
8.鏈?zhǔn)秸{(diào)用快速補(bǔ)全
User user = new User()
.setName("") // 輸入 .set 后按 Ctrl+Space
.setAge(0) // IDEA 會(huì)自動(dòng)提示可用的 setter
.setEmail("");9.通過 Alt+Enter 生成構(gòu)造函數(shù)調(diào)用
// 輸入類名 User // 然后按 Alt+Enter // 選擇 "Create constructor matching super" // 或者 "Create missing constructor"
10.快速創(chuàng)建 Map 到對(duì)象的轉(zhuǎn)換
Map<String, Object> map = new HashMap<>();
map.put("name", "張三");
map.put("age", 25);
// 在 map 上按 Alt+Enter
// 選擇 "Convert to object" (需要插件支持)11.實(shí)用示例
示例 1:使用 GenerateAllSetter
// 創(chuàng)建對(duì)象
User user = new User();
// 按 Alt+Enter,選擇 "Generate all setter with default value"
// 結(jié)果:
User user = new User();
user.setId(0L);
user.setUsername("");
user.setPassword("");
user.setEmail("");
user.setCreatedAt(null);示例 2:鏈?zhǔn)秸{(diào)用
// 如果類支持鏈?zhǔn)秸{(diào)用(@Accessors(chain = true))
User user = new User()
.setName("").setAge(0).setEmail("");
// 可以連續(xù)調(diào)用12.最佳實(shí)踐建議
安裝 GenerateAllSetter 插件? - 這是最快的方法
使用 Lombok @Builder? - 最優(yōu)雅的方式
創(chuàng)建自定義模板? - 針對(duì)常用類
13.快捷鍵總結(jié)
| 操作 | 快捷鍵 |
|---|---|
| 自動(dòng)生成變量 | .var+ Tab |
| 查看構(gòu)造函數(shù)參數(shù) | Ctrl+P |
| 代碼補(bǔ)全 | Ctrl+Space |
| 快速修復(fù)/生成 | Alt+Enter |
| 生成代碼 | Alt+Insert |
最快捷的方式:安裝 GenerateAllSetter? 插件,然后:
- 創(chuàng)建對(duì)象:
User user = new User(); - 光標(biāo)放在
user上 - 按
Alt+Enter - 選擇生成選項(xiàng)
到此這篇關(guān)于IntelliJ IDEA中初始化Java類的常用快捷方法詳解的文章就介紹到這了,更多相關(guān)IntelliJ IDEA初始化Java類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 普通代碼塊靜態(tài)代碼塊執(zhí)行順序(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇Java 普通代碼塊靜態(tài)代碼塊執(zhí)行順序(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-08-08
Java中使用While語(yǔ)句自增運(yùn)算遍歷數(shù)組典型實(shí)例
這篇文章主要介紹了Java中使用While語(yǔ)句自增運(yùn)算遍歷數(shù)組典型實(shí)例,本文直接給出實(shí)例代碼,并對(duì)每一句代碼都注解了詳細(xì)注釋,需要的朋友可以參考下2015-06-06
springboot實(shí)現(xiàn)mock平臺(tái)的示例代碼
本文主要介紹了springboot實(shí)現(xiàn)mock平臺(tái)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
Springboot接收文件報(bào)錯(cuò)Required request part‘file‘is 
文章總結(jié):在Flutter和Vue項(xiàng)目中遇到文件上傳問題,后端接口Controller定義無(wú)誤,但前端通過FormData封裝上傳文件時(shí)報(bào)錯(cuò),通過瀏覽器抓包和PostMan測(cè)試,發(fā)現(xiàn)后臺(tái)確實(shí)可以接收參數(shù),最終通過修改封裝的file為file.raw解決問題,解決了文件上傳不成功的問題2025-12-12
java使用Filter實(shí)現(xiàn)自動(dòng)登錄的方法
這篇文章主要為大家詳細(xì)介紹了java使用Filter實(shí)現(xiàn)自動(dòng)登錄的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
學(xué)習(xí)spring事務(wù)與消息隊(duì)列
這篇文章主要為大家詳細(xì)介紹了spring事務(wù)與消息隊(duì)列,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
Java實(shí)戰(zhàn)之多線程模擬站點(diǎn)售票
今天帶大家來(lái)練習(xí)Java實(shí)戰(zhàn),文中多線程模擬站點(diǎn)售票這個(gè)問題作了詳細(xì)的介紹,對(duì)正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05

