【问题标题】:Preference class偏好等级
【发布时间】:2023-03-25 23:29:01
【问题描述】:

我现在正在尝试使用 Preference 类来使用

首选项 pfrOfThis = Preferences.userNodeForPackage(this)

出现错误:

"类 java.util.prefs.Preferences 中的方法 userNodeForPackage 不能应用于给定类型; 必需:java.lang.Class 找到:myPac.MainApp 原因:实参myPac.MainApp不能通过方法调用转换为java.lang.Class

在构造函数中泄漏 this"

这里的MainApp 扩展了JFrame。为什么它不是一个类,不能在这里使用?

【问题讨论】:

    标签: java preferences


    【解决方案1】:

    引用“this”是一个对象。试试“this.getClass()”。

    【讨论】:

      【解决方案2】:

      “this”不是一个类,它是一个实例。尝试 .getClass(),或使用 MainApp.class。

      【讨论】:

        【解决方案3】:

        DT,如果您查看userNodeForPackage() 文档,您会看到该方法的签名是:public static Preferences userNodeForPackage(Class<?> c),这意味着它需要一个 Class 对象作为参数。我不知道你的程序是做什么的,但从你提到的异常来看,你应该试试:Preferences pfrOfThis = Preferences.userNodeForPackage(MainApp.class);

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-07-29
          • 1970-01-01
          • 1970-01-01
          • 2011-10-25
          • 1970-01-01
          • 2019-05-19
          相关资源
          最近更新 更多