如何制作对象的防御性副本?

如何制作包含不可变对象中可变字段的Mutable对象的防御性副本? class ImmutableObject { private final MutableObject immutable_field; ImmutableObject(MutableObject y) { this.immutable_field = y; } } class MutableObject { public int mutable_field; } MutableObject没有允许我设置字段的构造函数。 MutableObject的当前状态应该在Immutable Object中捕获并且永远不会改变。

在陈词滥调时更改listview项目背景

我有一个listview,我想当我点击一行时,它的背景变为蓝色。 我用这个代码: listView1.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View view, int position, long id) { // TODO Auto-generated method stub parent.getChildAt(position).setBackgroundColor(Color.BLUE); } }); 这有点错误。 当我点击第一个项目时,它变为蓝色,但项目#3和#5也变为蓝色! 我不明白为什么!! 我只想要只选择项目变成蓝色!!!

在小行星类型游戏中正确运动

目前我有一些小行星游戏,可以在这里看到: 但是当用户在船仍然移动时按下W时,它将采取船舶移动的速度而不管其旋转并加到它上,导致船出现不稳定且不协调(很难解释,观看该video)。 这是我正在使用的代码: public void update(int delta) throws SlickException { float hip = speed * delta; float rotation = image.getRotation(); for (Bullet b : bulletList) { b.update(delta); } Input input = gc.getInput(); if (input.isKeyDown(Input.KEY_A)) { image.rotate(rotateLeftSpeed * delta); if (rotateLeftSpeed > (ROTATE_LIMIT * -1)) { rotateLeftSpeed -= rotateSpeed; } } else { if (rotateLeftSpeed < […]

如何反编译Java

我想要一种简单的方法来反编译Java。 我想检查一下javac编译器对我的代码所做的转换和修改。 什么是好产品,什么是好的/坏的。

斯坦福核心NLP:实体类型非确定性

我使用Stanford Core NLP构建了一个java解析器。 我发现在使用CORENLP对象获得一致结果方面存在问题。 我得到相同输入文本的不同实体类型。 这似乎是CoreNLP中的一个错误。 想知道是否有任何StanfordNLP用户遇到过这个问题,并找到相同的解决方法。 这是我正在实例化和重用的Service类。 class StanfordNLPService { //private static final Logger logger = LogConfiguration.getInstance().getLogger(StanfordNLPServer.class.getName()); private StanfordCoreNLP nerPipeline; /* Initialize the nlp instances for ner and sentiments. */ public void init() { Properties nerAnnotators = new Properties(); nerAnnotators.put(“annotators”, “tokenize,ssplit,pos,lemma,ner”); nerPipeline = new StanfordCoreNLP(nerAnnotators); } /** * @param text Text from entities to […]

如何告诉java使用特定的传出ip接口来获取http请求?

有没有人知道在java中强制传出的http请求通过特定(逻辑)ip地址的快速方法? 我正在考虑使用Apache HTTP客户端(http组件的一部分),这肯定有足够的方法来实现它,但API看起来并不简单。 有没有人用它做过类似的事情? 谢谢。

Java中的Skyscanner API示例

我正在尝试构建一个Java中Skyscanner API请求的示例 – 但我做错了 – skyscanner API测试的链接: http : //business.skyscanner.net/portal/en-GB/Documentation/FlightsLivePricingQuickStart 这是我到目前为止的测试代码 – 我得到一个“内部服务器错误”。 任何人都可以看到这个例子中的错误? 谢谢 package FLIGHTS; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import java.io.IOException; import java.util.Collections; import java.util.HashMap; import java.util.Map; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.StatusLine; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.HttpResponseException; import org.apache.http.client.ResponseHandler; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; public class Test { […]

Proguard破坏了我的清洁。 Gson和仿制药

我有一个从持久性加载信息的函数,我只是以一种非常简单的方式告诉它的类型。 该类称为SharedPreferencesHelper.kt因此它是一个真正的生活问题解决者: fun loadList(context: Context, fileName: String, key: String, defValue: ArrayList) : ArrayList { val gson = MyGsonDependency.getInstance() val json = getWithFileName(context, fileName).getString(key, gson.toJson(defValue)) return gson.fromJson(json, object : TypeToken<ArrayList>() {}.type) } 加载,例如,我只是做一个ArrayList : SharedPreferencesHelper.loadList( context, FILE_NAME, KEY, ArrayList()) 我发现的问题是当我运行Proguard并模糊我的代码时,每当我调用object : TypeToken<ArrayList>() {}.type我得到一个exception: Caused by: java.lang.AssertionError: illegal type variable reference at libcore.reflect.TypeVariableImpl.resolve(TypeVariableImpl.java:111) at libcore.reflect.TypeVariableImpl.getGenericDeclaration(TypeVariableImpl.java:125) at libcore.reflect.TypeVariableImpl.hashCode(TypeVariableImpl.java:47) […]

什么是用于缓解Logjam / weakdh.org的正确的JBoss EAP 6.0.1密码套件配置?

由于最近几天logjam和网站https://weakdh.org/(Logjam:Diffie-Hellman如何在实践中失败)的关注,我决定强化我的JBoss EAP 6.0.1系统上的SSL配置这里描述: 13.2.5。 SSL连接器参考: https : //access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Administration_and_Configuration_Guide/SSL_Connector_Reference1.html 交叉参考这里: http : //www.coderanch.com/t/613062/JBoss/configuring-SSL-Https-Jboss 我的standalone.xml的相关部分包含在下面的混淆forms中: 协议限制正在起作用,但据我所知,密码套件属性没有效果。 我已将列表缩减为仅两个套件,但JBoss在端口8443上返回的列表始终相同。 我已经针对Qualys SSL Labs测试了系统,并且返回的密码套件列表包含了我的列表中未包含的许多密码。 Cipher Suites (sorted by strength; the server has no preference) TLS_RSA_WITH_RC4_128_MD5 (0x4) WEAK 128 TLS_RSA_WITH_RC4_128_SHA (0x5) WEAK 128 TLS_RSA_WITH_AES_128_CBC_SHA (0x2f) 128 TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33) DH 768 bits (p: 96, g: 96, Ys: 96) FS INSECURE 128 TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011) […]

Joda-Time – 如何找到“月的第二个星期四”

我没有看到一个很好的方法来设置一个月的某个星期的某一天的某一天的日期。 Joda-Time的LocalDate没有withWeekOfMonth方法。 我可以看到一个可能的算法,但它看起来很复杂,所以我会假设我错过了一些东西。 我需要的是确定某人付款的下一个日期。 如果他们在本月的第二个星期四付款,那是什么日期。 有人已经解决了这个问题? 好吧,我能够想出这个,这似乎工作正常。 /** * Finds a date such as 2nd Tuesday of a month. */ public static LocalDate calcDayOfWeekOfMonth( final DayOfWeek pDayOfWeek, final int pWeekOfMonth, final LocalDate pStartDate ) { LocalDate result = pStartDate; int month = result.getMonthOfYear(); result = result.withDayOfMonth( 1 ); result = result.withDayOfWeek( pDayOfWeek.ordinal() ); if ( […]