如何在Java中获得等效的c ++常量指针?

Sar*_*n M 2 java final constants immutability

当我将一个不可变类型对象(String,Integer,..)作为final传递给方法时,我可以实现C++常量指针的字符.但是,如何在可变的对象中强制执行此类行为?

public void someMethod(someType someObject){
 /*
  * code that modifies the someObject's state
  * 
  */
}
Run Code Online (Sandbox Code Playgroud)

我想要的是防止someMethod修改someObject的状态而不在someType中进行任何更改.这可能吗?

kdg*_*ory 5

在一般情况下,不,这是不可能的.在非常有限的情况下,您可以将someType包装在提供相同接口的类中(有关示例,请参阅Collections.unmodifiableList()).

但是,没有相当于"传递一个const指针,编译器只允许你调用const函数".