回答編集履歴
1
文字列連結絡み追加
test
CHANGED
@@ -47,3 +47,39 @@
|
|
47
47
|
}
|
48
48
|
|
49
49
|
```
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
文字列連結関連
|
54
|
+
|
55
|
+
Javaでは"+"による文字列連結はStringBuilder(あるいはStringBuffer)によって実装されている。つまり
|
56
|
+
|
57
|
+
```java
|
58
|
+
|
59
|
+
str += "->" + next;
|
60
|
+
|
61
|
+
```
|
62
|
+
|
63
|
+
は次と同じ意味である。
|
64
|
+
|
65
|
+
```java
|
66
|
+
|
67
|
+
str = new StringBuilder(str).append("->").append(next).toString();
|
68
|
+
|
69
|
+
```
|
70
|
+
|
71
|
+
StringBuilderのappend(Object)は、引数Objectを引数にString.valueOf(Object)を呼び出した返り値が使われる。String.valueOf(Object)の中身は
|
72
|
+
|
73
|
+
```java
|
74
|
+
|
75
|
+
//Stringクラス内
|
76
|
+
|
77
|
+
public static String valueOf(Object o) {
|
78
|
+
|
79
|
+
return o == null ? "null" : o.toString();
|
80
|
+
|
81
|
+
}
|
82
|
+
|
83
|
+
```
|
84
|
+
|
85
|
+
となる(ちなみに、System.out.println()にオブジェクトを渡した際に出力する文字列を決定するのもこのメソッド)。つまり、引数オブジェクトがnullでないかぎり、引数に対してtoString()を呼び出した結果の文字列が追加される。
|