【发布时间】:2026-02-09 18:15:02
【问题描述】:
我的项目中有这个线程,它不断运行并接受新符号
public class StreamThread extends Thread {
private Set<String> allSymbolSet = new HashSet<String>(Arrays.asList("USBC", "TCSD", "PCLJ"));
private PriorityBlockingQueue<String> priorityBlocking = new PriorityBlockingQueue<String>();
public void addSymbols(String str) {
if (str != null) {
priorityBlocking.add(str);
}
}
public void run() {
while (true) {
try {
while (priorityBlocking.peek() != null) {
String symbol = priorityBlocking.poll();
allSymbolSet.add(symbol);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
我的问题是,我想从另一个类访问变量 allSymbolSet
从另一个类访问这个名为allSymbolSet 的变量的最佳方法是什么,为此我有两个选择
将 allSymbolSet 的访问说明符从私有修改为默认。
编写一个用于返回 Set 的 get 方法
请建议我,在这种情况下有什么好的方法??
【问题讨论】:
-
更有可能是2,但是为什么其他类尝试访问
allSymbolSet,它想用它做什么?
标签: java