小编Erl*_*age的帖子

Erlang中模式匹配字符串的正确方法

对于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条款?

erlang functional-programming pattern-matching

1
推荐指数
1
解决办法
113
查看次数

创建单独的对象并使用Java中的对象引用对其进行编辑

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的字符串.

非常感谢您的帮助!

java oop string object pass-by-reference

1
推荐指数
1
解决办法
29
查看次数