我正在尝试将C ++程序转换为Java程序,但我无法在java编程语言中获得指针的语法。我该怎么办?
答案 0 :(得分:0)
你的问题很模糊,因为你没有指明你需要的指针。如果你需要指针算术,那么Java中最接近的是Unsafe
API,它是专有的,不是官方JDK API的一部分。
如果你只需要传递指针并取消引用它们,那么Java中就不需要语法 - 实际上你必须从C ++代码中删除语法以获得Java中的等价物:
ptr->method()
转换为ptr.method()
*ptr
变为ptr
&obj
变为obj
。
这是因为Java专门使用指针来引用对象,所以语法只是假设它们。
答案 1 :(得分:-1)
首先,在Java中没有指针(实际上,除了基元之外的所有东西都是指针,但是你想要改变传递的变量,不是吗?),所以你应该想一想如何在没有指针的情况下实现相同的功能指针。
如果你不能成功,你可以让你的方法接受一些东西,它保存另一个变量的参考,例如,AtomicReference<T>
(AtomicInteger
/ AtomicLong
,相应地,int
和long
)。
这将是:
void changeMyString(AtomicReference<String> ref) {
ref.set("Hello, World!");
}