当前位置: 首页 > 知识库问答 >
问题:

IntelliJ为选定字段/方法创建内部类

扶誉
2023-03-14

我有一个包含大量定义的大类。有没有一种方法可以使用IntelliJs build in Features来移动/创建/提取一个结构?

所以我可以保留对这些字段的引用,而不必为所有用法添加限定符?

当前为案例:

public static class Tables {

    public final static String METADATA_CREATE_TS = "create_ts";
    public final static String TABLE_1_ID;
    public final static String TABLE_1_NAME;
    public final static String TABLE_1_INTERNAL_ID;
    public final static String TABLE_1_CUSTOMER_ID;
    .
    .
    .
    public final static String TABLE_N_ID;
}

它应该是什么样子的:

public static class Tables {

    public final static String METADATA_CREATE_TS = "create_ts";
    public static class Table1 { 
        public final static String TABLE_1_ID;
        public final static String TABLE_1_NAME;
        public final static String TABLE_1_INTERNAL_ID;
        public final static String TABLE_1_CUSTOMER_ID;
    }
}

共有2个答案

钦枫
2023-03-14
  1. 创建内部类。
  2. 转到类表-->右键单击-->移动成员
  3. 标记要移动的字段。
  4. 在中写入内部类名(...tables.table1)
  5. 单击重构
尉迟华翰
2023-03-14

这是可以做的一点小伎俩。

您可以在IntelliJ中使用F6将设置数量的字段移动到一个新类中。创建新类后,您可以选择所有新创建的类,并再次按F6,使所有这些类成为一个不同类的内部类,这解决了我的总体目标。

 类似资料:
  • 我正在尝试创建一个使用JDK8可选的自定义IntelliJ模板。如果一个字段用注释,我想使用可选作为getter。 而不是这个(使用默认的getter模板): 我想要这个: 我保留了完整的包名,因为IDE希望导入正确的可选包(而不是Guava的)。 以下是我到目前为止所做的: 似乎不起作用。还缺少使用

  • 问题内容: 我在尝试了解如何在Django中创建动态选择字段时遇到了一些麻烦。我有一个模型设置类似: 我想做的是创建一个选择字段whos的值是与该骑手相关联的航点(将是登录的人)。 目前,我以如下形式覆盖init: 但是所有要做的就是列出所有路标,它们与任何特定的骑手都没有关联。有任何想法吗?谢谢。 问题答案: 你可以通过将用户传递给表单init来过滤航点 启动表单时从你的角度来看 在模型形式的情

  • 我需要在Cms后端表单(fields.yaml)中创建一个多选表单字段。我采用了以下方法 选择_字段: 此字段的选项将从模型中调用 一切正常,但当我提交表单时,只有第一个选择的选项作为JSON数据插入到数据库表文本字段中。我希望存储每个选定的选项。我也在模型中声明该字段为Jsonable,即受保护的$Jsonable=['field_name']; 注意:当我使用类型作为检查框列表时,它像我想的那

  • 在创建新的字段类型之前,请考虑其他自定义字段的方法是否适合您的需求。 如果您的应用程序需要存储新的值类型,或者希望为现有的值类型创建新的UI,则可能需要创建一个新的字段类型。 要创建一个新字段,请执行以下操作: 实现一个构造函数 注册一个JSON密钥并实现fromJson 处理块上UI和事件侦听器的初始化 处理事件侦听器(已为您进行了UI处理) 实现值处理 添加字段值的文本表示形式,以实现可访问性

  • 通过“自定义字段”方法创建数据后,数据里没有任何记录,需要到地图编辑模块添加数据。新建数据时,请注意选择到数据类型(点线面),创建完成后不可以修改。 选择通过自定义字段创建,需要手动输入属性列,并选择好属性列的类型,如文本/数值等。其中数值列可以用于统计。

  • 问题内容: 如果我有以下课程: 我显然可以实例化该对象,并且我知道必须进行某种子类化,因为我可以覆盖Hooray方法,但是如果有子类化,为什么我不能在匿名类内创建一个新方法? 返回语法错误 问题答案: 您可以创建方法,方法没有任何问题(除了它的前面有一个大写字母之外)。问题在于,在匿名类之外,Boo方法不可用(它没有作为类API的一部分公开)。 这与实现接口的任何类都是相同的…如果该类具有不属于接