如何遍历数组列表并显示没有 system.out.println 语句存储的元素?
How do I loop through an array list and display the elements stored without a system.out.println statement?
所以我在尝试遍历数组列表时遇到了问题,但我不想使用 println 语句打印数组列表中的元素。如果我可以通过每个循环将所有元素存储到一个局部变量中,然后在稍后调用该方法时 return 局部变量,是否有可能?e
这是我的代码:
public String displayProperties() {
String property = null;
for (int i = 0; i < properties.size(); i++) {
property = properties.get(i);
}
return property;
}
可能会修改代码以获得最终字符串,如下所示
property += properties.get(i);
property += " "
您必须引入一个实例变量来缓存您的方法的结果(您的局部变量不会在方法的当前执行之后存在)。
而且您还需要更改该方法的逻辑,将所有元素附加到单个 String
。
我还建议在元素之间添加一些分隔符。
private String cachedProperties = null;
public String displayProperties() {
if (cachedProperties == null) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < properties.size(); i++) {
if (i > 0) {
sb.append(',');
}
sb.append(properties.get(i));
}
cachedProperties = sb.toString();
}
return cachedProperties;
}
请注意,如果 properties
List
可能会发生变化,则每次发生这种情况时,您都必须重置缓存实例变量。
所以我在尝试遍历数组列表时遇到了问题,但我不想使用 println 语句打印数组列表中的元素。如果我可以通过每个循环将所有元素存储到一个局部变量中,然后在稍后调用该方法时 return 局部变量,是否有可能?e 这是我的代码:
public String displayProperties() {
String property = null;
for (int i = 0; i < properties.size(); i++) {
property = properties.get(i);
}
return property;
}
可能会修改代码以获得最终字符串,如下所示
property += properties.get(i);
property += " "
您必须引入一个实例变量来缓存您的方法的结果(您的局部变量不会在方法的当前执行之后存在)。
而且您还需要更改该方法的逻辑,将所有元素附加到单个 String
。
我还建议在元素之间添加一些分隔符。
private String cachedProperties = null;
public String displayProperties() {
if (cachedProperties == null) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < properties.size(); i++) {
if (i > 0) {
sb.append(',');
}
sb.append(properties.get(i));
}
cachedProperties = sb.toString();
}
return cachedProperties;
}
请注意,如果 properties
List
可能会发生变化,则每次发生这种情况时,您都必须重置缓存实例变量。