gpt4 book ai didi

java - 如何根据条件从数组中获取对象?

转载 作者:行者123 更新时间:2023-12-01 08:14:25 25 4
gpt4 key购买 nike

这是我的实际代码:

public TerminalGui[] getTerminalGuis() {
Components comps[] = this.getComponents();
int i, j = 0;

for( i = 0; i < comps.length ; i++ ) {
if( comps[i] instanceof TerminalGui ) {
j++;
}
}

TerminalGui terminalGuis[j];
int k = 0;
for( Component c : comps ) {
if( c instanceof TerminalGui ) {
terminalGuis[k] = c;
k++;
}
}
return terminalGuis;
}

如何做得更好?我想从 this.getComponents() 获取所有对象,它们是 TerminalGui (接口(interface))的实例。

最佳答案

我会这样做:

public TerminalGui[] getTerminalGuis() {
Components comps[] = getComponents();
List<TerminalGui> list = new ArrayList<TerminalGui>();

if (comps == null) return null;

for( Component c : comps ) {
if( c instanceof TerminalGui ) {
list.add(c);
}
}

return list.toArray(new TerminalGui[list.size()]);
}

关于java - 如何根据条件从数组中获取对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14602844/

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