小编Kon*_*lin的帖子

如何检查Enum中是否存在给定的字符串

我有一个像这样定义的枚举

export enum someEnum {
    None = <any>'',
    value1 = <any>'value1',
    value2 = <any>'value2',
    value3 = <any>'value3'   
}
Run Code Online (Sandbox Code Playgroud)

例如,我想检查枚举中是否存在"value4".我应该得到错误,因为在枚举中没有定义value4.

我尝试if (someEnum['value4'])但是得到错误 - 元素隐式具有"任何"类型,因为索引表达式不是"数字"类型.

typescript

11
推荐指数
3
解决办法
4949
查看次数

为什么这个双重检查锁使用单独的包装类实现?

当我阅读维基百科的关于Double Checked Locking成语的文章时,我对它的实现感到困惑:

public class FinalWrapper<T> {
    public final T value;
    public FinalWrapper(T value) { 
        this.value = value; 
    }
} 
public class Foo {
    private FinalWrapper<Helper> helperWrapper = null;

    public Helper getHelper() {
        FinalWrapper<Helper> wrapper = helperWrapper;

        if (wrapper == null) {
            synchronized(this) {
                if (helperWrapper == null) {
                    helperWrapper = new FinalWrapper<Helper>(new Helper());
                }
                wrapper = helperWrapper;
            }
        }
        return wrapper.value;
    }
}
Run Code Online (Sandbox Code Playgroud)

我根本不明白为什么我们需要创建包装器.这不够吗?

if (helperWrapper == null) {
    synchronized(this) {
        if (helperWrapper == null) {
            helperWrapper …
Run Code Online (Sandbox Code Playgroud)

java lazy-loading thread-safety

10
推荐指数
1
解决办法
422
查看次数

如何从字符串为 Play WSClient 创建 WSResponse 对象

文档建议使用模拟 Web 服务测试基于 WSClient 的 API 客户端,即创建一个play.server.Server将响应真实 HTTP 请求的客户端。

我更喜欢WSResponse直接从文件创建对象,包括状态行、标题行和正文,没有真正的 TCP 连接。这将需要更少的依赖并运行得更快。也可能有其他情况,这很有用。

但我找不到一个简单的方法来做到这一点。似乎所有包装的实现WSResponse都与从网络读取有关。

我应该为此创建自己的 WSResponse 子类,还是我错了并且它已经存在?

java testing playframework ws-client playframework-2.0

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