Ich muss die folgende Java-Methode in Scala konvertieren und habe Schwierigkeiten, weil Scala Ihnen nicht erlaubt, Werte in der Mitte der Methoden zurückgeben. Könnte mir jemand eine Hand geben oder zumindest ein Anfang, wie dies zu konvertieren:Convert Java-Methode in Scala-Methode
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;
}
"... weil scala es nicht erlaubt, Werte in der Mitte von Methoden zurückzugeben" - Warum denkst du das? Das Schlüsselwort return gibt es auch in Scala. – Jesper
Ich denke, es tut, fing gerade an, scala zu lernen und sah keine Beispiele mit tatsächlichen Rückkehranweisungen. Zugegeben, ich wette, es gibt einen besseren Weg, dies neben dieser sehr imperativen Java-Art zu tun? – chiappone
Wenn Sie IntelliJ verwenden, können Sie einfach den Java-Code einfügen und in Scala konvertieren. Unidiomatic Scala, aber es sollte funktionieren und Sie können es als Basis verwenden. –