質問編集履歴

1

文言削除

2020/04/28 08:22

投稿

Taka787
Taka787

スコア23

test CHANGED
File without changes
test CHANGED
@@ -7,137 +7,3 @@
7
7
  以下コードでビルド実行してみましたが数値のみの場合も文字列ソートのままでした
8
8
 
9
9
  解決法をネットでググってみましたが見つかりませんでしたのでもしわかる方いらっしゃいましたらご教授お願い致します。
10
-
11
-
12
-
13
- ```kotlin
14
-
15
- class ConstructionNumberGroupData(val construction: ConstructionReadData, val list: List<PileNumberGroupData>) {
16
-
17
-
18
-
19
- init {
20
-
21
- val numericData = list.filter {
22
-
23
- it.pileNumber.conversion()
24
-
25
- }
26
-
27
- val allNumeric = list.count() == numericData.count() // 長さを比較して一致していたら全部数値データ
28
-
29
- if (allNumeric) {
30
-
31
- list.sortedBy {
32
-
33
- it.pileNumber.toInt() // 数値でソートする
34
-
35
- //Log.d("Int", list.toString())
36
-
37
-
38
-
39
- }
40
-
41
-
42
-
43
- } else {
44
-
45
- list.sortedBy {
46
-
47
- it.pileNumber.toString() // 文字列でソートする
48
-
49
- Log.d("String", it.pileNumber.toString())
50
-
51
- }
52
-
53
-
54
-
55
- }
56
-
57
- }
58
-
59
- }
60
-
61
-
62
-
63
-
64
-
65
- ```
66
-
67
-
68
-
69
-
70
-
71
- ```kotlin
72
-
73
- class PileNumber {
74
-
75
- val value: String
76
-
77
-
78
-
79
- constructor(pile: Pile?) {
80
-
81
- value = (pile?.pileNo ?: 0) as String
82
-
83
- }
84
-
85
-
86
-
87
- constructor(pileNumber: String) {
88
-
89
- value = pileNumber
90
-
91
- }
92
-
93
-
94
-
95
- override fun equals(other: Any?): Boolean {
96
-
97
- if (other is PileNumber) {
98
-
99
- return value == other.value
100
-
101
- }
102
-
103
- return false
104
-
105
- }
106
-
107
-
108
-
109
- override fun toString(): String {
110
-
111
- return value
112
-
113
- }
114
-
115
-
116
-
117
- fun toInt() : Int {
118
-
119
- return value.toIntOrNull() ?: 0
120
-
121
- }
122
-
123
-
124
-
125
- fun conversion(): Boolean {
126
-
127
- return value.toIntOrNull() != null
128
-
129
- }
130
-
131
-
132
-
133
- override fun hashCode(): Int {
134
-
135
- return super.hashCode()
136
-
137
- }
138
-
139
-
140
-
141
- }
142
-
143
- ```**ボールドテキスト**