Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在RealmObject中使用Final字段的正确方法_Java_Android_Realm_Final - Fatal编程技术网

Java 在RealmObject中使用Final字段的正确方法

Java 在RealmObject中使用Final字段的正确方法,java,android,realm,final,Java,Android,Realm,Final,我想在RealmObject中使用final字段,比如private final int fieldName。因为,我想有效地使用常量和方法 CleanTime.java 但问题是我的Logcat抛出了一个错误,上面写着“这个类包含非法的final字段” 所以,我找到了一些关于领域的文档,并找到了它不起作用的原因 领域内的官方文件.. 目前,领域模型不支持final、transient和volatile字段。这主要是为了避免对象的行为在领域管理和非托管之间存在差异 因此,我尝试解决这个问题,并使

我想在RealmObject中使用final字段,比如
private final int fieldName
。因为,我想有效地使用常量和方法

CleanTime.java 但问题是我的Logcat抛出了一个错误,上面写着“这个类包含非法的final字段”

所以,我找到了一些关于领域的文档,并找到了它不起作用的原因

领域内的官方文件..

目前,领域模型不支持final、transient和volatile字段。这主要是为了避免对象的行为在领域管理和非托管之间存在差异

因此,我尝试解决这个问题,并使用
实例初始值设定项

CleanTime.java 但我很好奇这是否是正确的,建议使用final字段的方法。我做得对吗?还有更好的办法吗


啊,上面的代码与
NIGHT\u TIME\u teaching\u MINUTE\u LENGTH=50
相同,我想修改
NIGHT\u teaching\u MINUTE\u LENGTH
字段,不想更改它,它应该是
private static final int
并且它会自动忽略
static final
final字段。此外,在上次更新中,我们还添加了对
瞬态
字段的支持。他们现在只是被忽视,而不是被完全禁止。@EpicPandaForce Oops。。。。。。。我不明白自己为什么会犯这么容易的错误。。。非常感谢。我忘了
静态
…:(@ChristianMelchior你是说全新版本的3.3.2支持
transient
?我在block-quote中写的是来自Realm官方网站,上面说3.3.1是最新版本。transient字段支持3.2.0+Nah,它应该是
private static final int
,它将自动忽略
static final
fin所有字段。在上次更新中,我们还添加了对
瞬态
字段的支持。它们现在被忽略,而不是完全被禁止。@EpicPandaForce Oops……。我不明白自己为什么会犯这么容易的错误……谢谢你……我忘记了
静态
…:(@ChristianMelchior你是说全新版本的3.3.2支持<代码>瞬态<代码>?我在区块引用中写的是来自Realm官方网站,上面说3.3.1是最新版本。瞬态字段支持3.2.0+
public class CleanTime extends RealmObject {

    private final int NIGHT_TIME_LECTURE_MINUTE_LENGTH = 50;
    private final int NIGHT_TIME_LECTURE_BREAK_TIME_MINUTE = 10;

    // and other field

    public CleanTime() {
        // Constructor which use NIGHT_TIME_LECTURE_MINUTE_LENGTH
    }

    // and other methods
}
public class CleanTime extends RealmObject {

    private int NIGHT_TIME_LECTURE_MINUTE_LENGTH;
    private int NIGHT_TIME_LECTURE_BREAK_TIME_MINUTE;

    // and other field

    { // Instance Initializer
        NIGHT_TIME_LECTURE_MINUTE_LENGTH = 50;
        NIGHT_TIME_LECTURE_BREAK_TIME_MINUTE = 10;
    }

    public CleanTime() {
        // Constructor which use NIGHT_TIME_LECTURE_MINUTE_LENGTH
    }

    // and other methods
}