小编Jas*_*per的帖子

Collectors.toMap中的Java 8 NullPointerException

如果其中一个值为'null' ,Java 8 Collectors.toMap将抛出一个NullPointerException.我不明白这种行为,map可以包含null指针作为值而没有任何问题.有没有一个很好的理由为什么值不能为空Collectors.toMap

另外,是否有一个很好的Java 8方法来修复它,或者我应该恢复到普通的旧循环?

我的问题的一个例子:

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;


class Answer {
    private int id;

    private Boolean answer;

    Answer() {
    }

    Answer(int id, Boolean answer) {
        this.id = id;
        this.answer = answer;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Boolean getAnswer() {
        return answer;
    }

    public void setAnswer(Boolean answer) {
        this.answer = answer;
    }
}

public class Main …
Run Code Online (Sandbox Code Playgroud)

java nullpointerexception java-8 java-stream collectors

292
推荐指数
7
解决办法
7万
查看次数

在initializer_list vs 2013中双重删除

今天在我的项目中遇到内存问题,使用c ++ 11 initializer_list的类.系统发出内存问题:dbgdel.cpp中的表达式_BLOCK_TYPE_IS_VALID(pHead-> nBlockUse).我将代码简化为一个简单的示例,它不再抛出表达式,但问题从调试输出中变得明显.在我看来这个代码是正确的,它似乎也适用于g ++.

#include <functional>
#include <memory>
#include <string>
#include <iostream>
#include <vector>
#include <map>
#include <sstream>

#include <initializer_list>

using namespace std;

class B {
public:
    char data[256];
    B(const string& x) {
        cout << "Init " << this << endl;
    }
    B(const B& b) {
        cout << "Copy " << this << endl;
    }
    ~B() {
        cout << "Deleting b " << this << endl;
    }
};

class C {
public:
    vector<B> bs;

    C(initializer_list<B> bb) {
        for(auto& …
Run Code Online (Sandbox Code Playgroud)

c++ initializer-list visual-c++ c++11 visual-studio-2013

12
推荐指数
1
解决办法
1178
查看次数

Spring websocket线程模型

我找不到任何有关Spring中使用的线程模型的信息,浏览源代码也没有给我一个简单的答案。我想知道使用 Spring websockets 的线程限制。我怀疑线程模型与处理普通 HTTP 请求类似,但我找不到明确的答案。

Spring使用的websocket实现是异步的还是可以阻塞的?从其他线程使用 websocket 是否安全?是否可以将 Spring 配置为仅使用单个线程来处理所有传入消息?

我希望有人能澄清 Spring 如何与 Websockets 结合处理线程。

java spring multithreading websocket

5
推荐指数
1
解决办法
1036
查看次数