对于erlang中的模式匹配字符串,哪种方法更好?
receiveString("someString") -> %doStuff;
receiveString("differentString") -> %doOtherStuff.
Run Code Online (Sandbox Code Playgroud)
要么
receiveString(A) when A == "someString" -> %doStuff;
receiveString(A) when A == "differentString" -> %doOtherStuff.
Run Code Online (Sandbox Code Playgroud)
此外,是否可以有多个when条款?
public class MyClass {
public MyClass(String a) {this.a = a;}
public void editString() {a = a + "anything";}
public String getString() {return a;}
}
public class test {
public test() {
MyClass myClass = new MyClass("stuff");
MyClass myNewClass = myClass;
myNewClass.editString();
System.out.println(myClass.getString());
System.out.println(myNewClass.getString());
}
}
Run Code Online (Sandbox Code Playgroud)
两个对象都会返回相同的东西("stuffanything"),我想这是因为Java通过引用传递对象变量,无论如何要避免这种情况吗?我只想编辑myNewClass的字符串.
非常感谢您的帮助!