我在替换String
成员中的List
字段内容方面遇到了一些问题。
我有一个对象列表,该列表中的一个字段是String
。所以作为一个例子,我有以下的getter和setter。
public class MyObject {
private String message;
private int numbers;
...
我们假设我已经创建了一个MyObject
列表,其中有3个列在该列表中,并且我从外部的某个地方(如数据库)添加了值。
List<MyObject> myObject = new ArrayList<>();
问题在于String消息。假设前3个条目中的String
字段等于以下内容。
"First message"
"Second message"
"Third message"
如何遍历myObject
的{{1}}消息字段列表,并将字母内容String
替换为新内容,例如“1st”,依此类推。
答案 0 :(得分:1)
如果您的类MyObject允许您更新其内部字符串,则只能这样做;例如,通过提供一个setter方法。
换句话说:
答案 1 :(得分:1)
您可以使用Iterator。但是你的列表必须是String类型。
示例强>
ArrayList<String> myObject = new ArrayList<>();
ListIterator litr = myObject.listIterator();
while(litr.hasNext()) {
String element = litr.next();
if(element.equalsTo("first message"))
element = "1st message";
litr.set(element);
}
希望得到这个帮助。
答案 2 :(得分:0)
您应该创建一个array
,其外观如下:
String[] s = new String[10];
s[0] = "th";
s[1] = "st";
s[2] = "nd";
s[3] = "rd";
s[4] = "th";
s[5] = "th";
s[6] = "th";
s[7] = "th";
s[8] = "th";
s[9] = "th";
现在它足以循环显示您的列表,并将String
字段message
中的第一个单词替换为附加i
的当前索引s[i%10]
。