草庐IT

observe_field

全部标签

Java Observer 和 Observable 在应用程序之间无法正常工作

我有一个包含默认列表模型的主JFrame的应用程序。我希望如果我修改这些记录的某些内容,第二个运行的应用程序会自动更新。到目前为止,我有一个MainController类,它实现了监听器并覆盖了更新方法:publicclassMainControllerimplementsActionListener,Observer{publicvoidupdate(Observableo,Objecto1){}}和一个扩展Observable的简单类publicclassComandaextendsObservable{}我的问题是,如果我从第一个应用程序中删除一条记录,第二个列表不会更新。该程序

java - reflect.Field.annotations 始终为空

我正在尝试使用反射和注释。出于某种原因,每当我向字段(或类或方法)添加注释并使用反射查看该字段时,我都会看到它的annotations字段为空。例如,这段代码:publicclassTest{publicstaticvoidmain(String[]args)throwsNoSuchFieldException,SecurityException{System.out.println(Test.class.getField("bl").getAnnotations().length);}@annopublicintbl;public@interfaceanno{}}打印0。顺便说一句,

java - Field 中原始 getter/setter 的目的是什么?

在Field中publicObjectget(Objectobj)方法的文档中类说Thevalueisautomaticallywrappedinanobjectifithasaprimitivetype.对于publicvoidset(Objectobj,Objectvalue)来说Iftheunderlyingfieldisofaprimitivetype,anunwrappingconversionisattemptedtoconvertthenewvaluetoavalueofaprimitivetype.所以我是对的,像getInt和setInt这样的特定原始getter和s

java - Observer 在 Java 9 中被弃用了。我们应该用什么来代替它?

Java9出来了,Observer已被弃用。这是为什么?这是否意味着我们不应该再实现观察者模式了?最好知道什么是更好的选择? 最佳答案 这是为什么?这是否意味着我们不应该再实现观察者模式?先回答后半部分——YES,这确实意味着您不应该再实现Observer和Obervable。Whyweretheydeprecated-他们没有为应用程序提供足够丰富的事件模型。例如,他们可能只支持某事发生变化的概念,但不传达任何关于发生变化的信息。Alex'sanswer前面很好地说明了Observer有一个弱点:所有Observable都是相同的

java - BeanWrapperFieldsetMapper 映射 PropertyEditor per field basis

我正在使用springbatch进行文件到数据库的处理,目前我正在使用PropertyEditors将分隔文件中的字符串转换为下面提供的某个对象。Map,PropertyEditor>editors=newHashMap();CustomDateEditordateEditor=newCustomDateEditor(newSimpleDateFormat("yyyy-MM-dd"),true);editors.put(Date.class,dateEditor);因此,如果我有一个日期字段,我将使用CustomDateEditor并成功解析给定的格式日期字符串。但是,如果我在同一文件

java - FindBugs - SE_BAD_FIELD 规则,为什么它会忽略 java.lang.Object?

来自SE_BAD_FIELD的描述:Non-transientnon-serializableinstancefieldinserializableclassThisSerializableclassdefinesanon-primitiveinstancefieldwhichisneithertransient,Serializable,orjava.lang.Object,anddoesnotappeartoimplementtheExternalizableinterfaceorthereadObject()andwriteObject()methods.Objectsofthi

java - Spring 数据 MongoDB : How ignore unique indexed field when Document is embedded in another one?

我有一个这样定义的Contract类:@DocumentpublicclassContract{@IdprivateStringid;@Indexed(unique=true)privateStringref;privateStringstatus="pending";//getter&setter&hashcode&equals&tostring...}我想随时间保存契约(Contract)状态,所以我创建了一个Version类,如下所示:@DocumentpublicclassVersion{@IdprivateStringid;privateContractcontract;pr

java - 好的设计 : How use fields of superclass

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Javaprotectedfieldsvspublicgetters如果我有B类扩展A并且在A中我有一些我也在B中使用的字段,最好使这些字段受到保护并从B类中调用它们或为此字段编写getter方法,因此使用此方法来自B级?(此字段在A的构造函数中设置)

java - 具有最后状态的 RxJava Observable

我从RxJava开始,我想创建一个可以保存最后状态的可观察对象……在RxSwift中,这将是Variable(https://github.com/ReactiveX/RxSwift/blob/master/Documentation/GettingStarted.md#variables),但我在RxJava中找不到等价物......我找到了一个变通办法,但它有很多样板代码privatebooleanisGettingCompanies=false;publicbooleanisGettingCompanies(){returnisGettingCompanies;}privatev

java - SonarQube 误报鱿鱼 :S1450 for @Getter (lombok) annotated fields

我想我在使用@Getter时发现了误报来自ProjectLombok的注释.在下面的示例类中,我收到警告“仅用作方法中的局部变量的私有(private)字段应成为局部变量”(squid:S1450)。publicclassExample{@GetterprivateStringexampleField;//有人可以证实吗?是SonarQube规则中的错误还是我的类(class)或我对该规则或@Getter注释的理解有问题?为了完整起见:项目lombok注释或生成的方法在其他SonarQube规则中被正确识别。所以我认为我的设置很好。我还尝试将@Getter注释放在类级别,但我收到了同样