passString()メソッドと同じ働きをする新しいメソッドを作成するpassStringBuilder()メソッドを追加する方法はありますか?これは、StringオブジェクトではなくStringBuilderオブジェクトで動作する必要があります。よろしく。文字列をStringBuilderに置き換えますか?
import intertech.MyDate;
public class PassByExperiment {
public static void main(String[] args) {
MyDate date = new MyDate(1, 20, 2008);
System.out.println("Before passing an object " + date);
passObject(date);
System.out.println("After passing an object " + date);
System.out.println("Before passing a primitive " +
date.year);
passPrimitive(date.year);
System.out.println("After passing a primitive " +
date.year);
String x = date.toString();
System.out.println("Before passing a String " + x);
passString(x);
System.out.println("After passing a String " + x);
}
public static void passObject(MyDate d) {
d.year = 2009;
}
public static void passPrimitive(int i) {
i = 2010;
}
public static void passString(String s)
{
int yearSlash = s.lastIndexOf('/');
s = s.substring(0, yearSlash + 1);
s += "2012";
System.out.println("New date string: " + s);
}
}
これは私が試したものです:
public static void passStringBuilder(StringBuilder sb) {
int yearSlashSB = sb.lastIndexOf('/');
sb = sb.substring(0, yearSlashSB + 1);
sb.append("2012");
System.out.println("New date string: " + sb);
}
最初の*形式*あなたのコードが正しく – Lino
'StringBuilder'のJavaDocをチェックすることをお勧めしたいです。あなたは 'lastIndexOf'、' delete'、 'append'というメソッドを見つけることができます。 –
誰かが私のための例を持っていれば、私は何もしようとしなかったが、完璧になるだろう...これは私の最初の投稿だった。 –