我有代码,其中我有一个具有混合数据类型的对象的构造函数:
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。
我不知道如何做到这一点,除了将所有值重新放入原始值和新值之外,我相信找到并替换子串的那部分并将这个新字符串写入数组。
我有点挣扎(但自从我第一次提出这些问题以来,我已经有了很大的改进!)
任何帮助?
答案 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+"";