第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

生成Getter時(shí)如何忽略注釋?

生成Getter時(shí)如何忽略注釋?

長(zhǎng)風(fēng)秋雁 2022-06-23 10:32:02
我創(chuàng)建了一個(gè)簡(jiǎn)單的 Getter 生成器來(lái)生成一個(gè)“Optional-Getter”,它將字段包裝在 Optional 中。問(wèn)題是當(dāng)字段被注釋為@Nullable 時(shí),getter 也將使用@Nullable 生成,我發(fā)現(xiàn)每次生成getter 時(shí)簡(jiǎn)單地刪除它非常煩人。如何忽略服裝吸氣劑中的字段注釋?這是我的“Optional-Getter”生成器。#if($field.modifierStatic)static ###endOptional<$field.type> ###set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))#if ($field.boolean && $field.primitive)  is###else  get###end${name}() {  return Optional.fromNullable($field.name);}這就是我現(xiàn)在生成吸氣劑時(shí)的結(jié)果 -public class Class {    @Nullable    private String someMember;    @Nullable    public Optional<String> getSomeMember() {        return Optional.fromNullable(someMember);    }}這是預(yù)期的結(jié)果 -public class Class {    @Nullable    private String someMember;    public Optional<String> getSomeMember() {        return Optional.fromNullable(someMember);    }}
查看完整描述

1 回答

?
繁花如伊

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊

獲取插件CodeGenerator,通過(guò)他們的GitHub Repository > Releases.

最新版本是1.3.3


“從磁盤”安裝插件,重新啟動(dòng) IntelliJ/Android Studio,然后通過(guò)Settings > CodeGenerator,用這段代碼修改默認(rèn)Getter and Setter模板,并啟用它


#foreach($field in $fields)

#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field.element, $project))))

#if ($field.boolean && $field.primitive)

#set($getter = "is${name}")

#else

#set($getter = "get${name}")

#end

#set($setter = "set${name}")

#if($field.modifierStatic)

static ##

#end


#if($field.modifierStatic)

static ##

#end

Optional<$field.type> ##

${getter}() {

  return Optional.fromNullable($field.name);

}


#if($field.modifierStatic)

static ##

#end

void ${setter}($field.type $paramName) {

#if ($field.name == $paramName)

    #if (!$field.modifierStatic)

    this.##

    #else

        $classname.##

    #end

#end

$field.name = $paramName;

}

#end 

Alt+ins您可以通過(guò)(或Code > Generate)使用它

http://img1.sycdn.imooc.com//62b3d0bf0001817b03920236.jpg

根據(jù)需要自定義您的模板,或添加新模板。享受 ;)


這也是我在為 IDEA 尋找的東西。其實(shí)很久以來(lái)。不幸的是,到目前為止,它似乎無(wú)法參數(shù)化。

這是 YouTrack 問(wèn)題,它使自動(dòng)插入@Nullable@NotNull生成的 getter/setter可用

https://youtrack.jetbrains.net/issue/IDEA-30683

如果可能,您可以投票支持會(huì)自動(dòng)轉(zhuǎn)換為Optional<T>getter的功能

https://youtrack.jetbrains.net/issue/IDEA-201804

您可以投票支持向 Apache Velocity 模板公開(kāi)注釋的功能

https://youtrack.jetbrains.net/issue/IDEA-176763


查看完整回答
反對(duì) 回復(fù) 2022-06-23
  • 1 回答
  • 0 關(guān)注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)