我想了解哪些版本的clang Apple安装在我的macbook中,可以看到c ++ 11和/或c ++ 14的功能.我输入了这个命令:
clang --version
//----response
Apple LLVM version 7.0.0 (clang-700.1.76)
Target: x86_64-apple-darwin15.0.0
Thread model: posix
Run Code Online (Sandbox Code Playgroud)
但我无法理解什么(clang-700.1.76)意思.如何将此代码转换为clang版本?
这是您可以检查clang版本http://clang.llvm.org/cxx_status.html中提供的c ++功能的站点.
我有一个函数,有时必须返回Date一次DateTime(Joda-Time).
static public <T extends Object> T convertTimeForServer(DateTime toSave) {
DateTime temp = null;
try {
temp = toSave.withZone(DateTimeZone.forID(getServerTimeZone()));
} catch (Exception e) {
}
T toReturn = null;
if (toReturn.getClass().equals(temp)) {
return (T) temp;//Return DATETIME
} else {
return (T) temp.toDate();//Return DATE
}
}
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?
如何使用它?
像这样(timerHelper是类的名称):
DateTime t = timerHelper.<DateTime>convertTimeForServer(new DateTime());
Date t2 = timerHelper.<Date>convertTimeForServer(new DateTime());
or
DateTime t = (DateTime)timerHelper.convertTimeForServer(new DateTime());
Date t2 = (Date)timerHelper.convertTimeForServer(new DateTime());
Run Code Online (Sandbox Code Playgroud)
以及如何使用此功能?
static public <T extends Object> T …Run Code Online (Sandbox Code Playgroud) 我在node.js应用程序中使用Javascript ES6功能:
class pairKey {
constructor(x_pos, y_pos) {
this._X = x_pos;
this._Y = y_pos;
}
get x() {
return this._X;
}
set x(x_pos) {
this._X = x_pos;
}
get y() {
return this._Y;
}
set y(y_pos) {
this._Y = y_pos;
}
var allElem = new Map();
allElem.set(new pairKey(1,2), 'a');
allElem.set(new pairKey(2,3), 'b');
console.log(allElem.has(new pairKey(1,2))); //Should return true instead return false
Run Code Online (Sandbox Code Playgroud)
在这段代码中,我想使用一对Int地图键(allElem)作为键。
问题是我不知道如何Map比较javascript中的对象。
有人可以帮我吗?
我不明白为什么这段代码的最后一行返回一个空字符串.
Map<String, JsonObjectBuilder> HASH_MAP = new HashMap<>();
JsonObjectBuilder one = Json.createObjectBuilder();
one.add("test1","test1");
HASH_MAP.put("one", one);
JsonObjectBuilder two = Json.createObjectBuilder();
two.add("test2","test2");
HASH_MAP.put("two", two);
JsonObjectBuilder toReturn = Json.createObjectBuilder();
JsonArrayBuilder l1 = Json.createArrayBuilder();
for (Map.Entry<String, JsonObjectBuilder> l : HASH_MAP.entrySet()) {
l1.add(l.getValue());
}
toReturn.add("l1", l1);
toReturn.add("otherParam", "value2");
String strJSON = toReturn.build().toString();
System.out.println("JSON1: " + strJSON);
System.out.println("JSON2: " + HASH_MAP.get("one").build().toString());
Run Code Online (Sandbox Code Playgroud)
这是输出:
Info: JSON1: {"l1":[{"test1":"test1"},{"test2":"test2"}],"otherParam":"value2"}
Info: JSON2: {}
Run Code Online (Sandbox Code Playgroud)
我想第二个JSON是{"test1":"test1"}.我错了?
这个问题似乎是与链接.build()设置所有的功能valueMap加入的元素HASH_MAP为null(见图片).

如何将值保留在HASH_MAP未触及的范围内?
我按了Visual studio 2012的快捷键,但我不知道是哪一个!
现在代码适合窗口的尺寸。因此,如果我调整窗口大小,一长行代码就会分成 3 或 4 行(仅显示,实际上代码位于同一行)。
无法使用水平滚动条,因为一长行代码被分割以适应窗口大小。
看图片:
调整大小之前

调整大小后

你知道我该如何解决这个问题吗?
java ×2
c# ×1
c++11 ×1
c++14 ×1
c++17 ×1
clang ×1
dictionary ×1
ecmascript-6 ×1
generics ×1
javascript ×1
json ×1
llvm-clang ×1
shortcut ×1
windows ×1