当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何在Java中获得等效的c++常量指针?》经验,为你挑选了1个好方法。

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

public void someMethod(someType someObject){
 /*
  * code that modifies the someObject's state
  * 
  */
}

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



1> kdgregory..:

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

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

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有