我正在使用Rhino来评估js表达式,方法是将所有可能的变量值放在作用域中并评估匿名函数.然而,表达式相当简单,我想只将表达式中使用的值放在表达式中.
代码示例:
Context cx = Context.enter();
Scriptable scope = cx.initStandardObjects(null);
// Build javascript anonymous function
String script = "(function () {" ;
for (String key : values.keySet()) {
ScriptableObject.putProperty(scope, key, values.get(key));
}
script += "return " + expression + ";})();";
Object result = cx.evaluateString(scope, script, "<cmd>", 1, null);
Run Code Online (Sandbox Code Playgroud)
我想从变量名称的表达式中获取所有标记.
例如,如果表达式是
(V1ND < 0 ? Math.abs(V1ND) : 0)
Run Code Online (Sandbox Code Playgroud)
它会回来V1ND.
我有一个有4个属性的bean:
user
institutionId
groupId
postingDate
Run Code Online (Sandbox Code Playgroud)
我使用Eclipse生成equals和hashcode,但结果代码并不漂亮.是否有一种紧凑的方式来做同样的事情?假设我希望equals和hashcode使用所有属性或它们的子集.
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((groupId == null) ? 0 : groupId.hashCode());
result = prime * result + ((institutionId == null) ? 0 : institutionId.hashCode());
result = prime * result + ((postingDate == null) ? 0 : postingDate.hashCode());
result = prime * result + ((user == null) ? 0 : user.hashCode());
return result;
}
@Override
public boolean equals(Object obj) …Run Code Online (Sandbox Code Playgroud) 我需要知道哪个物理列与持久性属性相关联.
例如
类LDocLine具有此属性
private Integer lineNumber;
Run Code Online (Sandbox Code Playgroud)
它在hibernate中映射如下:
<property name="lineNumber" column="LINENUMBER" type="integer"/>
Run Code Online (Sandbox Code Playgroud)
我需要的方法是这样的:
getColumn("LDocLine","lineNumber)=>"LINENUMBER"
我假设它在内部存在,但不确定它是否在公共API中.
提前致谢
我需要检查地图中的所有值是否相等.我有一个方法来执行此任务,但想使用库或本机方法.限制:Java 5 + Apache Commons库.
public static boolean isUnique(Map<Dboid,?> aMap){
boolean isUnique = true;
Object currValue = null;
int iteration = 0;
Iterator<?> it = aMap.entrySet().iterator();
while(it.hasNext() && isUnique){
iteration++;
Object value = it.next();
if(iteration > 1){
if (value != null && currValue == null ||
value == null && currValue != null ||
value != null && currValue != null & !value.equals(currValue)) {
isUnique = false;
}
}
currValue = value;
}
return isUnique;
}
Run Code Online (Sandbox Code Playgroud) 我需要检查地图中的所有值是否为空,我有这个方法,如果可能的话我想用内置的方法替换.限制:Java 5和访问Apache Commons库.
/* Checks if all values are null */
public static boolean isEmpty(Map<Dboid,?> aMap){
boolean isEmpty = true;
Iterator<?> it = aMap.entrySet().iterator();
while(it.hasNext() && isEmpty){
Object value = it.next();
if(value != null) {
isEmpty = false;
}
}
return isEmpty;
}
Run Code Online (Sandbox Code Playgroud)