Lambda填充地图

我试图用一个单词和它们的出现次数来填充地图。 我正在尝试写一个lambda来做它,就像这样: Consumer wordCount = word -> map.computeIfAbsent(word, (w) -> (new Integer(1) + 1).intValue()); map是Map 。 如果它不存在,它应该只是将地图中的单词作为键插入,如果它存在,它应该将其整数值增加1.这个语法不正确。

限制Result中的字段

我正在使用MongoDB v3.0.1和MongoDB Java Driver 3.0.0-RC1。 我有一个用户集合,其中包含“username”,“firstname”,“lastname”,“email”等字段。 现在我想选择所有用户,但只选择“username”,“firstname”和“lastname”字段。 在Mongo-Shell上,它使用db.user.find({}, { “username” : true , “firstname” : true , “lastname” : true}) 但是我怎么能用Java做呢? 我尝试了final BasicDBObject query = new BasicDBObject(“{}”, new BasicDBObject(“_id”, true)); final MongoCursor usersCursor = col.find(query) final BasicDBObject query = new BasicDBObject(“{}”, new BasicDBObject(“_id”, true)); final MongoCursor usersCursor = col.find(query) 为此,我得到一个空结果,因为它被翻译为{ “{}” : { “_id” : […]

ClassCastException在Hibernate / Spring 4升级后,无法将Proxy36强制转换为SessionImplementor

编辑:我不是在问ClassCastException是什么 。 我问在Spring 4 / Hibernate 4的这个特定配置下DetachedCriteria中是什么导致它。 我正在尝试将一些遗留代码升级到Spring 4 / Hibernate 4,而且我已经碰壁了,因为Google并没有出现太多问题。 我试图在一个非常简单的Hibernate存储库上运行JUnit测试,但它失败了 java.lang.ClassCastException: com.sun.proxy.$Proxy36 cannot be cast to org.hibernate.engine.spi.SessionImplementor at org.hibernate.criterion.DetachedCriteria.getExecutableCriteria(DetachedCriteria.java:84) at com.my.app.rest.domain.repository.AbstractHibernateRepository$6.doInHibernate(AbstractHibernateRepository.java:163) … 这发生在Hibernate的org.hibernate.criterion.DetachedCriteria类中: /** * Get an executable instance of Criteria to actually run the query. * * @param session The session to associate the built Criteria with * * @return The […]

使用onOptionsItemSelected从PreferenceArag和PreferenceFragments上升

我在使用Android Studio的默认“设置活动”( extends AppCompatPreferenceActivity )时使用onOptionsItemSelected时遇到了问题。 活动的重要部分是: public class SettingsActivity extends AppCompatPreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setupActionBar(); } private void setupActionBar() { ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { // Show the Up button in the action bar. actionBar.setDisplayHomeAsUpEnabled(true); } } public static class GeneralPreferenceFragment extends PreferenceFragment { // […] […]

SWFUpload和Java:会话丢失

我正在使用SWFUpload将文件上传到java servlet(spring框架)。 问题是当前Web会话在文件上载期间丢失(它创建一个新会话)。 我读到这是一个已知的bug,并且在某处有一些解决方法,但我找不到任何东西。 有谁知道如何使它工作? 谢谢。

从db 获取的messages.properties

可能重复: 有关多语言支持的Java EE实体的设计问题 我正在研究JSF应用程序的i18n。 我需要从数据库中获取通常位于messages.properties中的所有标准jsf消息。 有一些简单的方法吗? 谢谢。

在restful WS中的dependency injection

我有简单的宁静WS @Path(“basic”) public class ServiceRS { private IServiceJAX service; @GET @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public String find(@FormParam(“searchRequest”) final String searchRequest) { //… final List response = service.find(search); //… } } 其中IServiceJAX是jax-webservice的@Local接口。 我可以使用注释将IServiceJAX注入ServiceRS吗? 我不想使用JNDI查找…

Hibernate中基本类型的ArrayList

我有一个关于整数的ArrayList或一般的原始类型的问题。 假设我正在设计一个POS程序,每个产品可能有几个价格。 假设我可以用int表示价格值,而在Product类中我有字段ArrayList prices 。 使用Hibernate进行映射的最佳方法是什么? 我可以将它映射到product_prices表,其中包含一个包含价格值的字段和一个引用相关产品的外键字段,但这似乎有点过分。 另一方面,我可以在String连接所有价格并将其存储在products表中的字段中,例如,用分号分隔价格。 这样我就可以保存一个表和一个未来的select ,但它似乎并不是OO。 这里最好做什么?

Kafka – 如何在Producer类中获取失败的消息详细信息

Kafka允许通过Producer(KafkaProducer)类的以下方法发送异步消息: public java.util.concurrent.Future send(ProducerRecord record) public java.util.concurrent.Future send(ProducerRecord record, Callback callback) 成功可以通过处理 1) Future对象或 2)回调调用的onCompletion方法。 完整方法签名和onCompletion使用如下( 取自kafka docs ) ` ProducerRecord record = new ProducerRecord(“the-topic”, key, value); producer.send(record, new Callback() { public void onCompletion(RecordMetadata metadata, Exception e) { if(e != null) e.printStackTrace(); System.out.println(“The offset of the record we just sent is: ” + metadata.offset()); } […]

控制自动化测试何时结束 – Espresso

我正在测试一个不寻常的情况。 我正在使用Espresso来编写我的测试。 我知道Espresso和InstrumentationTestCase不是为了做到这一点。 我有一个我在其中一个课程中创​​建的监听器,它会通知我某个值的变化。 我在我的测试套件中使用了监听器。 当我从侦听器获取值时,我需要声明值已更改为此类。 我的问题是测试将在我收到监听器的值之前结束。 private void sendSpeedChanges() { setStaticSpeed(new Random().nextInt(10) + 2); try { runTestOnUiThread(new Runnable() { @Override public void run() { consoleActivity.onSpeedChanged(getStaticSpeed(), false); } }); } catch (Throwable throwable) { throwable.printStackTrace(); } } private void createSpeedDelegate() { EspressoMachineValues.setOnSpeedChangeListener(new EspressoMachineValues.OnSpeedChangeListener() { @Override public void onSpeedChanged(double speed) { //assert speed is correct. assertTrue(getStaticSpeed() […]