回答編集履歴

3

toString の StringJoiner はやっぱり StringBuilder に

2022/03/22 11:17

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -54,8 +54,6 @@
54
54
  ```
55
55
  Position.java
56
56
  ```java
57
- import java.util.StringJoiner;
58
-
59
57
  public class Position {
60
58
  final Issue issue;
61
59
  final double amount;
@@ -73,17 +71,15 @@
73
71
 
74
72
  @Override
75
73
  public String toString(){
76
- return new StringJoiner(",", "Position[", "]")
74
+ return new StringBuilder("Position[")
77
- .add("issue=" + issue)
75
+ .append("issue=").append(issue)
78
- .add("amount=" + amount)
76
+ .append(",amount=").append(amount)
79
- .toString();
77
+ .append("]").toString();
80
78
  }
81
79
  }
82
80
  ```
83
81
  Stock.java
84
82
  ```java
85
- import java.util.StringJoiner;
86
-
87
83
  public class Stock extends Issue {
88
84
  enum Market{
89
85
  TSE, OSE, NSE
@@ -98,10 +94,10 @@
98
94
 
99
95
  @Override
100
96
  public String toString(){
101
- return new StringJoiner(",", "Stock[", "]")
97
+ return new StringBuilder("Stock[")
102
- .add(super.toString())
98
+ .append(super.toString())
103
- .add("market=" + market)
99
+ .append(",market=").append(market)
104
- .toString();
100
+ .append("]").toString();
105
101
  }
106
102
  }
107
103
  ```
@@ -109,7 +105,6 @@
109
105
  ```java
110
106
  import java.time.DateTimeException;
111
107
  import java.time.LocalDate;
112
- import java.util.StringJoiner;
113
108
 
114
109
  public class Bond extends Issue {
115
110
  enum Type{
@@ -156,18 +151,17 @@
156
151
 
157
152
  @Override
158
153
  public String toString() {
159
- return new StringJoiner(",", "Bond[", "]")
154
+ return new StringBuilder("Bond[")
160
- .add(super.toString())
155
+ .append(super.toString())
161
- .add("maturity=" + maturity)
156
+ .append(",maturity=").append(maturity)
162
- .add("coupon=" + coupon)
157
+ .append(",coupon=").append(coupon)
163
- .toString();
158
+ .append("]").toString();
164
159
  }
165
160
  }
166
161
  ```
167
162
  Issue.java
168
163
  ```java
169
164
  import java.util.Objects;
170
- import java.util.StringJoiner;
171
165
 
172
166
  public class Issue {
173
167
  enum Type {
@@ -201,11 +195,11 @@
201
195
 
202
196
  @Override
203
197
  public String toString() {
204
- return new StringJoiner(",", "Issue[", "]")
198
+ return new StringBuilder("Issue[")
205
- .add("code='" + code + "'")
199
+ .append("code='").append(code).append("'")
206
- .add("name='" + name + "'")
200
+ .append(",name='").append(name).append("'")
207
- .add("type=" + type)
201
+ .append(",type=").append(type)
208
- .toString();
202
+ .append("]").toString();
209
203
  }
210
204
  }
211
205
  ```

2

不要コード削除

2022/03/22 11:01

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -50,11 +50,6 @@
50
50
  for(Position p : positionMap.values()) if(p.issue.type == type) set.add(p);
51
51
  return set;
52
52
  }
53
-
54
- @Override
55
- public String toString() {
56
- return null;
57
- }
58
53
  }
59
54
  ```
60
55
  Position.java

1

バグ修正

2022/03/22 10:38

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -72,7 +72,7 @@
72
72
 
73
73
  Position add(Position other) {
74
74
  if(other == null) return this;
75
- if(issue.equals(other.issue)) new IllegalArgumentException();
75
+ if(!issue.equals(other.issue)) new IllegalArgumentException();
76
76
  return new Position(issue, amount + other.amount);
77
77
  }
78
78