java 方法中final_Java设计(在函数中使用final字段)

我用Java编程了一年,并在去年休息了一些python.我回到了java,我对一些设计方面感到困惑.

假设我有一个几乎可以做所有静态的课程

public class Example{

String list = {{"A", "apple"}, {"B","banana"}, {"C", "can"}}

public static manipulateTheList(){

// do something with the above list

}

public static anotherManipulateTheList(){

// do something with the above list

}

}

它不会让我使用this.list,因为该方法是静态的.但我不认为我应该每次都在方法中定义列表,因为类中的所有方法都将使用相同的列表.

有没有解决方案,这种情况的最佳做法是什么?

解决方法:

您可以将列表声明为静态成员,如果您不打算重新分配,也可以将其声明为final:

private static final String LIST = {{"A", "apple"}, {"B", "banana"}, {"C", "can"}};

您可以参考实例和静态方法中的列表,如下所示:

Example.LIST

请注意,任何实例或静态方法都可以访问它…如果您修改它,更改将反映在任何地方.这就是静态成员如此危险的原因.

标签:java

来源: https://codeday.me/bug/20190608/1199192.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值