次のコードが期待どおりに機能しないのを見て、私はちょっと困惑しました。
Javaは常に参照によって変数を関数に渡すと思いました。したがって、関数が変数を再割り当てできないのはなぜですか?
public static void main(String[] args) {
  String nullTest = null;
  setNotNull(nullTest);
  System.out.println(nullTest);
}
private static void setNotNull(String s) {
  s = "not null!";
}
このプログラムはを出力しますnull。