In Java, when using an object across multiple threads (and in general), it is good practice to make fields final. For example,
public class ShareMe {
pr
I think I may have misunderstood how var is compiled. I created the sample class
class AVarTest(name:String) {
def printName() {
println(name)
}
}
I ran javap -private and it resulted in
public class AVarTest extends java.lang.Object implements scala.ScalaObject{
private final java.lang.String name;
public void printName();
public AVarTest(java.lang.String);
}
And name is actually compiled to final.
This is also shown in Scala val has to be guarded with synchronized for concurrent access?