我有一个像这样定义的枚举
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'])但是得到错误 - 元素隐式具有"任何"类型,因为索引表达式不是"数字"类型.
当我阅读维基百科的关于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) 文档建议使用模拟 Web 服务测试基于 WSClient 的 API 客户端,即创建一个play.server.Server将响应真实 HTTP 请求的客户端。
我更喜欢WSResponse直接从文件创建对象,包括状态行、标题行和正文,没有真正的 TCP 连接。这将需要更少的依赖并运行得更快。也可能有其他情况,这很有用。
但我找不到一个简单的方法来做到这一点。似乎所有包装的实现WSResponse都与从网络读取有关。
我应该为此创建自己的 WSResponse 子类,还是我错了并且它已经存在?