使用Immutables时,从接口到生成的java类进行注释

我在我的Java接口中使用Immutables( http://immutables.org )来生成构建器和不可变对象。 我创建了一个名为@Primary的自定义方法级别注释(表示哪个属性是主要字段),我用它来注释Immutable接口中的一个方法。 我没有看到由immutables创建的生成的java类中的注释。 我试着看BYOA(带自己的注释),但这没有帮助。 有没有办法将@Primary注释放到生成的不可变java类上? 更新(根据肖恩的建议) 我现在有一个基于下面的配置 package-info.java package com.mypackage; import com.mercuria.recon.custom.annotation.Primary; import org.immutables.value.Value; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.PACKAGE, ElementType.TYPE}) @Retention(RetentionPolicy.CLASS) // Make it class retention for incremental compilation @Value.Style(passAnnotations=Primary.class) public @interface MyStyle {} 主要注释 package com.mypackage.custom.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface […]

在Spring中validation数字

我对如何进行申请有一个基本的疑问。 我有一个表单,我需要validation所有输入是数字。 我在确定与表单相关的bean的属性类型时遇到问题。 我不知道是将它们设置为String还是加倍,原因如下: 如果我将它们设置为double:如果我在输入中输入一些不是数字的东西,当spring将输入填充到bean中时,我在JSP中得到一个Exception,它无法将其转换为double。 如果我将它们设置为String:我有一个很好的validation,虽然我必须稍后将它们更改为double。 但我的问题是这个bean存储在一个带有hibernate的数据库中,注释@column会将它存储为文本,我想将它存储为双倍。 是否有可能将列类型更改为双延迟类型? 在这种情况下,有没有人可以告诉我如何在此之前? 谢谢。

如何在java中从链表中找到中间值或节点?

我在链接list.how中有50个值来查找链表的中间值或节点? List list = new LinkedList(); for (int i = 0; i < 50; i++) { list.add(String.valueOf(i)); } int size = list.size(); int middle = (size / 2); System.out.println(list.get(middle).toString());… 我得到了这样的答案….但我的团队负责人说要以另一种方式找到答案? 有没有其他内置的方法来迭代链表?我试过……但我得到任何内置的方法来查找中间值…或者你可以任何人建议另一个逻辑来找到中间节点的值林克名单? 谢谢…….

离开片段后更新ActionBar标题

当我的MainActivity启动时,我的ActionBar会显示应用程序标题。 一旦您通过导航抽屉导航到片段,标题就会更改为与片段匹配…但是,一旦您使用后退按钮导航回来,标题就会保持不变,并且仍然具有片段的标题。 我希望将其更改回应用程序标题。 我曾尝试在MainActivity.java中使用onResume()方法,但看起来一旦离开片段就不会被调用。 @Override public void onResume() { super.onResume(); // Set title getActionBar().setTitle(“FuelR”); invalidateOptionsMenu(); } 有谁知道将标题更改回app_name的最佳方法是什么? 谢谢

我的实体加载速度超慢了怎么办?

我有以下实体: @Entity @Table(name=”\”Order\””) public class Order { @Id @SequenceGenerator(name=”order_id_seq”, sequenceName=”order_id_seq”, allocationSize=1) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator=”order_id_seq”) private long id; @OneToOne private Customer customerDetails; @OneToOne private ProductDetails productDetails; @OneToOne private TransportDetails transportDetails; @OneToOne private OtherDetails otherDetails; @OneToOne private OtherDetails otherDetails2; @OneToOne private OtherDetails3 otherDetails3; private LocalDateTime dateOrderPlaced; private LocalDateTime dateOrderPaid; private Float totalPrice; @Size(max = 1000) private […]

使用带有Struts 2 + Tomcat 7的Eclipse Kepler时资源不可用错误

好的,所以这是我用Java编写的第一个应用程序,我第一次使用Eclipse Kepler,Tomcat 7和Struts2,所以我很惊讶我甚至得到了这个,因为我所知道的是JS和Rails。 无论如何,这个基本的Web应用程序字面意思是输出字符串”Success Page!” 在运行Tomcat 7时在IDE中输入该URL。 我查看了Tomcat的成功页面,因此我知道运行时服务器正在运行。 另外,我的IDE中没有红色x标记。 该教程告诉我添加到我已完成的Web应用程序的URL getTutorial.action ,以呈现success.jsp视图。 但是,我在url localhost:8080/Struts2Starter/getTutorial.action收到此错误: message /Struts2Starter/getTutorial.action description The requested resource is not available. 错误日志告诉我这个: SEVERE: Dispatcher initialization failed Unable to load configuration. – action – file:/Users/jasonrodriguez/Java/apache-tomcat-7.0.47/wtpwebapps/Struts2Starter/WEB-INF/classes/struts.xml:10:76 SEVERE: Dispatcher initialization failed Unable to load configuration. – action – file:/Users/jasonrodriguez/Java/apache-tomcat-7.0.47/wtpwebapps/Struts2Starter/WEB-INF/classes/struts.xml:10:76 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:446) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:490) at […]

在AOSP中构建apk时如何启用mulit dex?

无法在Android AOSP版本中执行mulitdex。 在android studio中成功创建了多dex,但是使用AOSP构建却无法做到这一点 它给我以下错误: trouble writing output: Too many method references: 84626; max is 65536. You may try using –multi-dex option. 但不确定如何在使用make文件的AOSP构建中使用此multi dex选项

c ++插件 – > JNI – > Java Classpath

我正在尝试为应用程序创建一个插件。 插件需要用c ++编写。 我想在Windows和Mac上使用插件,所以用Java编写插件会很棒。 我的问题是,还有一个使用Java的插件。 由于它们使用相同的主应用程序,因此已经有一个正在运行的JavaVM。 JavaVM *jvm = NULL; jsize jvm_count = 0; jint res=0; res = JNI_GetCreatedJavaVMs (&jvm, 1, &jvm_count); 我的问题:如何更改/修改现有JavaVM的Classpath? 或者我如何创建新的/第二个JavaVM? 我试图通过JNI加载我的jar文件: /* URL CLASS */ jclass URLcls; URLcls = env->FindClass(“java/net/URL”); /* URL CLASS CONSTRUCTOR*/ jmethodID URLclsMid; URLclsMid = env->GetMethodID(URLcls, “”,”(Ljava/lang/String;)V”); /* URL OBJECT */ jobject URLobj; jstr = env->NewStringUTF(“file:/path/to/test/file/test.jar”); URLobj = […]

如何在Java(NetBeans)中将禁用按钮的文本颜色更改为黑色?

我正在使用NetBeans开发Java中的GUI,我喜欢将禁用按钮的文本颜色更改为黑色。 以下命令与combobox一起正常工作: UIManager.getDefaults().put(“ComboBox.disabledForeground”, Color.BLACK); 使用Button,以下命令没有效果: UIManager.getDefaults().put(“Button.disabledForeground”, Color.BLACK); 要么 UIManager.getDefaults().put(“Button.disabledText”, Color.BLACK); 我希望有人可以帮助我。 先谢谢你。 斯特芬

Java – 向二维数组添加值以及如何查看数组?

我有一个数组(Arr)。 我用值填充points1和point2。 public class Arr { float pointX; float pointY; boolean yesNo; String text; } public Arr points1[]; public Arr points2[]; points1 = new Arr[100]; for (int i = 0; i < 100; i++) points1[i]= new Arr(); for (int j = 0; j < 100; j++) { points1[j].pointX = getFloat; points1[j].pointY = getFloat; points1[j].yesNo = […]