为一个 class 分配相同的内存或更改 java 中的最终变量

allocate same memory for one class or changing final variable in java

我在 android 中有一个 class (java) 我被迫每秒创建一个 class (new className() ) 因为变量是最终的。这会占用大量内存。 我无法更改 class 因为它是在库中实现的

我想要: 当第一次创建 className 和 OS 分配一个内存位置时,当我再次创建我的 class 时,它会替换到第一次分配的那个位置。要么 我如何更改最终变量?

您可以在 class 上编写一个 reset() 方法,它将对象的所有字段重置为初始状态。

当您想创建一个新对象时,不创建新对象,调用旧对象 reset() 并重新使用它。

单例 Class 示例:

public class SomeClass {
  private static LibraryClass libraryClass;
  public static LibraryClass getInstance() {
    if(libraryClass == null) {
      libraryClass = new LibraryClass();
    }
    return libraryClass;
  }
}

然后你可以调用它:LibraryClass libraryClass = SomeClass.getInstance();

我解决了我的问题:

通过此代码:

Field modifierslatitude = className.class.getDeclaredField("latitude");
modifierslatitude.setAccessible(true);
modifierslatitude.set(classNameObjectThatFirstCreate, location.getLatitude() + MainActivity.y * 0.0002);

事实上,我一次又一次地更改了 final 变量而没有创建新的 class