我需要将下面的java方法转换为scala并且遇到困难,因为scala不允许您在方法中间返回值。可能有人给我一只手或至少在如何转换这是一个开始:将Java方法转换为Scala方法
public boolean isAllowed(String method, String path, Map<String,String> apiUrlMap) {
if (apiUrlMap != null) {
Set<Entry<String, String>> apiSet = apiUrlMap.entrySet();
for (Entry<String, String> apiUrl : apiSet) {
String aUrl = apiUrl.getKey();
String aMeth = apiUrl.getValue();
if (aUrl.equals("#")) {
if (aMeth.contains(method)) {
return true;
}
}
if (aUrl.endsWith("#")) {
String testUrl = aUrl.replaceFirst("/#", "");
if (path.startsWith(testUrl)) {
if (aMeth.contains(method)) {
return true;
}
}
}
if (aUrl.equals(path) || path.equals(aUrl +"/")) {
if (aMeth.contains(method)) {
return true;
}
}
}
}
return false;
}
“......因为Scala不允许你在方法中间的返回值” - 为什么你认为呢? Scala中也有'return'关键字。 – Jesper 2012-03-26 17:14:58
我想是的,刚开始学习scala,并没有看到任何与实际返回语句的例子。当然,我敢打赌,除了这个非常必要的java方法之外,还有更好的方法来做到这一点? – chiappone 2012-03-26 17:18:05
如果您使用IntelliJ,则只需粘贴Java代码即可将其转换为Scala。 Unidiomatic Scala,但它应该可以工作,并且可以用它作为基础。 – 2012-03-27 02:52:15