替换数组中的字符串,其中字符串的一部分是int

时间:2013-11-15 07:28:27

标签: java arrays string replace substring

我有代码,其中我有一个具有混合数据类型的对象的构造函数:

public GuidedTour(String tourID, String tourDescription, double tourFee,
        String tourDate, int tourSize, String tourLeader)

我需要允许用户更新tourSize

我可以搜索并查找特定的游览,但是我无法解决如何用输入的int值int newTourSize替换子字符串。

所以我试图替换的代码是:

String tourDetails;
String newDetails = tourDetails.replace(tourSize, newTourSize);

它不会让我这样做,因为我使用的是int值。我尝试将int解析为String。

我不知道如何做到这一点,除了将所有值重新放入原始值和新值之外,我相信找到并替换子串的那部分并将这个新字符串写入数组。

我有点挣扎(但自从我第一次提出这些问题以来,我已经有了很大的改进!)

任何帮助?

3 个答案:

答案 0 :(得分:5)

看起来你的班级看起来像这样:

public class GuidedTour {
    private String tourDetails;

    public GuidedTour(String tourID, int tourSize) { // other arguments omitted for brevity
        this.tourDetails = tourID + tourSize;
    }

    public String getTourDetails() {
        return tourDetails;
    }
}

您现在想知道如何将tourSize更改为tourDetails

嗯,这很简单。不要忘记旅游细节的各个部分。用类似

的方法替换你的课程
public class GuidedTour {
    private String tourID;
    private int tourSize;

    public GuidedTour(String tourID, int tourSize) { // other arguments omitted for brevity
        this.tourID = tourID;
        this.tourSize = tourSize;
    }

    public String getTourDetails() {
        return tourID + tourSize;
    }

    public void setTourSize(int newTourSize) {
        this.tourSize = newTourSize;
    }
}

现在您不再需要进行任何String替换。您只需设置新的游览大小,并要求GuidedTour实例通过重新组合所有部分来重新创建tourDetails字符串。

答案 1 :(得分:4)

如果您只想将原始类型值转换为String,请执行以下操作:

String.valueOf(tourSize)

String类包含几种静态方法,用于从各种输入创建String对象。

答案 2 :(得分:2)

使用字符串连接运算符""向任何基本类型添加空字符串"+"将生成一个字符串。它与String.valueOf(data)的操作相同。例如:

String strSize = tourSize+"";