首页 / JAVA / java-具有动态变量的单例
java-具有动态变量的单例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-具有动态变量的单例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1506字,纯文字阅读大概需要3分钟。
内容图文
![java-具有动态变量的单例](/upload/InfoBanner/zyjiaocheng/682/f34d3a3d004646ae99d03a1fa450fd33.jpg)
我需要调用函数来从程序{不同类}的不同位置重新计算参数.我需要使用可以在运行时间中更改的不同系数重新计算.
简单示例: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模式不是一个好方案.
看看这些答案:When should the Singleton pattern NOT be used?
内容总结
以上是互联网集市为您收集整理的java-具有动态变量的单例全部内容,希望文章能够帮你解决java-具有动态变量的单例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。