java 变量单例_java-具有动态变量的单例

我需要调用函数来从程序{不同类}的不同位置重新计算参数.我需要使用可以在运行时间中更改的不同系数重新计算.

简单示例:new_value = old_value *系数.

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

这是我的单身人士:

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)

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

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;

}

}

你什么事

我不确定这是否有效,是否可以在multiThread应用程序中使用它,以及这是否是使用Singleton的正确方法.

谢谢

解决方法:

使用Singleton模式不是一个好方案.

标签:java

来源: https://codeday.me/bug/20191027/1945376.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值