用Java替换对象List中的字符串内容

时间:2016-07-21 14:56:35

标签: java string list

我在替换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”,依此类推。

3 个答案:

答案 0 :(得分:1)

如果您的类MyObject允许您更新其内部字符串,则只能这样做;例如,通过提供一个setter方法。

换句话说:

  1. 迭代MyObject对象列表
  2. 对于每个对象,您必须查询其消息
  3. 然后你必须调用一个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]