String val="Hello";
//blocks of code
int c=val.hashCode(); //say i get 101 as memory location.
说我不知道mem位置101的“val”是什么。我想在这个位置存储val =“abc”。如何使用内存位置附加val?这在Java中是否可行。
答案 0 :(得分:2)
Java不允许直接操作内存位置。它构建为用户和实际内存之间的一层。
更不用说哈希码与内存地址无关。
Per @ ValekHalfHeart的评论我做了一个快速搜索,看起来有an API可用于不安全的操作(包括更改内存位置)。我没有这方面的经验,但它看起来像是一个后门去做你想要的。
请注意,Java是明确构建的,以便将所有这些内容抽象出来。毕竟试图使用它们会滥用你的工具。
答案 1 :(得分:0)
对你的问题的简短回答是“不”。 Java“保护”您不知道(或关心)对象的内存位置,分配,破坏等。
如果你喜欢那种东西,我可以建议你用C吗?这是一种备受诽谤的语言 - 但它对于那种“接近硅片”的编程非常有用。承担所有危险...