gpt4 book ai didi

java - 具有动态变量的单例

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:07:24 25 4
gpt4 key购买 nike

我需要调用函数来重新计算来自程序不同位置{不同类}的参数。我需要用不同的系数重新计算,这些系数可以在运行时改变。简单示例:新值 = 旧值 * 系数。

目前,我拥有保存这些系数的类,并拥有进行重新计算的方法。缺点:我需要将该类的实例传递到每个我想使用它的地方。

这是我的单例:

public class Converter {
private double lbU_2_U;
private static Converter instance = new Converter();

public Converter() {
lbU_2_U = 1;
}

public static Converter getInstance() {
return instance;
}

public void updateVelocityCoeficient(double lb_2_p) {
lbU_2_U = lb_2_p;
}

public double velToP(double lbU) {
return lbU_2_U * lbU;
}

public double velToLB(double u) {
return u / lbU_2_U;
}
}

所以,现在的优势是我可以在程序的任何地方编写

newVelocity = Converter.getInstance().velToP(velocity)

往前走,我会做这样的事情:

newVelocity = Converter.velToP(velocity)

所以我正在考虑将我的单例更改为:

public class Converter {
private double lbU_2_U;
private static Converter instance = new Converter();

public Converter() {
lbU_2_U = 1;
}

public static Converter getInstance() {
return instance;
}

public static void updateVelocityCoeficient(double lb_2_p) {
instance.lbU_2_U = lb_2_p;
}

public static double velToP(double lbU) {
return instance.lbU_2_U * lbU;
}

public static double velToLB(double u) {
return u / instance.lbU_2_U;
}
}

你有什么事?我不确定这是否有效,我是否可以在多线程应用程序中使用它,以及这是否是使用 Singleton 的正确方法。

谢谢

最佳答案

这不是使用单例模式的好场景。

查看这些答案:When should the Singleton pattern NOT be used?

关于java - 具有动态变量的单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34413757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com