我正在尝试使用我自己的 Java 实体类和 Jackson 注释来生成 JSON 响应。null我的 JSON 响应中必须有两个键值,但如果我将它们设置为它们null,它们就会从 JSON 中消失。不幸的是,我只能使用 Jackson 版本 1.9.13。
我已经尝试将值设置为null,使用
@JsonSerialize(include = JsonSerialize.Inclusion.ALWAYS)
Run Code Online (Sandbox Code Playgroud)
我的响应实体:
public class Response {
@JsonProperty("data")
private Data data;
@JsonProperty("error")
private Error error;
public Data getData() {
return data;
}
public void setData(PgSoftAuthData data) {
this.data = data;
}
public Error getError() {
return error;
}
public void setError(PgSoftError error) {
this.error = error;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试生成这样的响应:
Data data = new Data();
data.setName("Name");
data.setTime(null); // This …Run Code Online (Sandbox Code Playgroud) 我在找到JPopupMenu位置时遇到了麻烦.
我需要的是能够右键单击工作区,点击一些
菜单项,然后创建一个元素来代替正确的先前显示的菜单的位置下.
我试着获取菜单本身及其项目的位置,
但它给了我大约0的常量值.(参见代码中的注释)
由于关注点分离,菜单显示在一个类中,
而其操作在另一个类中处理.
public final class MainFrameMenu
extends JPopupMenu
implements ActionListener {
private final MainFrame mainFrame;
private final JMenuItem item1 = new JMenuItem("add line");
private final JMenuItem item2 = new JMenuItem("add element");
public MainFrameMenu(MainFrame mainFrame) {
super("Main menu");
this.mainFrame = mainFrame;
item1.addActionListener(this);
item2.addActionListener(this);
add(item1);
add(item2);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == item1) {
System.out.println(getLocation()); // gives ALWAYS [0, 0]
System.out.println(item1.getLocation()); // gives …Run Code Online (Sandbox Code Playgroud) 我想知道JTextPane内容何时发生变化.我实现了一个键盘监听器,但它只检测键盘事件.如果用户通过鼠标粘贴文本或将文本拖入内部,那么我不会启用检测JTextPane值的更改.哪个事件监听器可以告诉我JTextPane值已更改?
是否可以添加ActionListener到列标题JTable.
这是我的桌子
现在,我想的添加ActionListener到列标题(例如WQE,SDM)我想是能够显示在另一个窗口中列描述.
我使用Processvia ProcessBuilder来运行用C代码生成的可执行文件.我正在抓住Process.exitValue()这个退出值的反应.我注意到并非所有退出值都来自可执行文件.例如,我得到退出值139并且在我的C代码中没有任何地方返回139的退出值.
我试图找到退出值的概述,但我找不到这个,现在我发现退出值可以取决于操作系统.(我顺便使用Ubuntu).
一切顺利的时候,唯一可以肯定的退出值是0.是否有关于退出值的规范?我可以确定某个范围只能用于我自己的程序吗?为操作系统保留了哪些退出代码.
我发现139可能是C代码中的内存错误.我想摆脱可能.我无法获得退出值的任何概述(例如139 = .....)
这是简化的代码:
ProcessBuilder p = new ProcessBuilder(executableName,
executableArguments);
final Process shell = p.start();
InputStream shellIn = shell.getInputStream();
int shellExitStatus = shell.exitValue();
Run Code Online (Sandbox Code Playgroud)
注意:在Ubuntu shell中运行C可执行文件根本不会产生任何错误(即退出值0).但是,在Java中执行相同的命令会退出值139.
我正在使用Jersey Java Framework将数据从HTML表单发送到Java RESTful Web服务.我需要知道在该表单中检查了哪些复选框(具有不同的名称和用途).我在网络服务中试过这个:
package com.myexample;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.sun.jersey.multipart.FormDataParam;
@Path("/service")
public class MyService{
@POST
@Path("/formData")
@Produces(MediaType.TEXT_HTML)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public String formData(@FormDataParam("myInputbox") String myInputbox, @FormDataParam("myCheckbox") String myCheckbox){
return "Now I get: <br/>Inputbox: " + myInputbox + "<br/>Checkbox: " + myCheckbox;
}
}
Run Code Online (Sandbox Code Playgroud)
发件人表单是这样的:
<html>
<head>
<title>Send a checkbox</title>
</head>
<body>
<form method="post" action="http://localhost:8080/Example/rest/service/formData" enctype="multipart/form-data">
<input type="checkbox" name="myCheckbox">This is my checkbox
<input type="text" name="myInputbox" value=""/>
<input type="submit" value="Send data"/>
</form>
</body> …Run Code Online (Sandbox Code Playgroud) 我正在使用org.eclipse.jdt.annotation.NonNull为静态空值分析添加额外信息.我不知道如何正确地注释数组:
我测试过:
public static void test(@NonNull String[] a) {
assert a != null;
}
public static void main(String[] args) {
test(null);
}
Run Code Online (Sandbox Code Playgroud)
但是,Eclipse没有标记test(null);为错误.
我有以下课程.
public class StatusCategory
{
@JsonProperty("key")
private final String m_key = null;
public String getKey()
{
return(m_key);
}
}
Run Code Online (Sandbox Code Playgroud)
什么是-keep确保Proguard不会删除构造函数的选项?
以下将保留构造函数; 但是,我不想指定每个类或包.
-keep class oracle.psr.ndr.jira.api.StatusCategory {<init>;}
Run Code Online (Sandbox Code Playgroud) 我懂了:
<a href="/thread/7629335?start=75&tstart=0" title="last" onclick="jspaginate.init('last', '6'); return false;" class="js-pagination-next j-paginate-last">last</a>
Run Code Online (Sandbox Code Playgroud)
我想找到源jspaginate.init。我单击了“调试器”选项卡,但没有看到jspaginate.init. 来源应该在页面上的某个地方,不是吗?
我最近覆盖了equals我最近的Java项目的域对象中的一些方法.当我们使用Sonar计算我们的代码度量时,我立即看到这些类的圈复杂度增加到阈值以上.
我想知道是否有一种聪明的方式,模式或选项可以保持这个指标低,尽管有一些更复杂的equals方法.
编辑:这是我的一个例子,我没有具体说明,只是为了让我们知道我们在谈论什么.
@Override
public boolean equals(Object o) {
if (o instanceof MyKey) {
MyKey other = (MyKey) o;
if (this.foo.longValue() == other.getFoo().longValue() &&
this.bar.equalsIgnoreCase(other.getBar()) &&
this.foobar.shortValue() == other.getFoobar().longValue()){
return true;
}
}
return false;
}
@Override
public int hashCode() {
int hash = 3;
hash = 53 * hash + foo.hashCode();
hash = 53 * hash + bar.hashCode();
hash = 53 * hash + foobar.hashCode();
return hash;
}
Run Code Online (Sandbox Code Playgroud)