Skip to content

Commit 808a1f0

Browse files
committed
Added example to print toString with formatted form.
1 parent 5dd2327 commit 808a1f0

File tree

4 files changed

+66
-20
lines changed

4 files changed

+66
-20
lines changed
Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,12 @@
11
package com.eprogrammerz.examples.algorithm.general;
22

3-
import java.util.Arrays;
4-
import java.util.Collections;
3+
import java.util.ArrayList;
54
import java.util.List;
65

76
public class StringSorter {
87
public static void main(String[] args) {
9-
//numbers in string form sorting won't work as expected
10-
System.out.println("Working with String numbers: ");
11-
List<String> strNums = Arrays.asList("1969948", "2435212", "25582376", "27829693", "33159479", "3472231", "3472260", "38328893");
12-
13-
System.out.println("Before sorting: " + strNums);
14-
15-
Collections.sort(strNums);
16-
17-
System.out.println("After sorting: " + strNums);
18-
19-
System.out.println("Working with numbers: ");
20-
List<Integer> nums = Arrays.asList(1969948, 2435212, 25582376, 27829693, 33159479, 3472231, 3472260, 38328893);
21-
22-
System.out.println("Before sorting: " + nums);
23-
24-
Collections.sort(nums);
25-
26-
System.out.println("After sorting: " + nums);
8+
List<Integer> myList = new ArrayList<>();
9+
System.out.println(myList);
10+
myList.add(3);
2711
}
2812
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.eprogrammerz.examples.general.toString;
2+
3+
import java.lang.reflect.AccessibleObject;
4+
import java.lang.reflect.Field;
5+
import java.lang.reflect.Modifier;
6+
7+
public abstract class Model {
8+
@Override
9+
public String toString() {
10+
StringBuilder result = new StringBuilder();
11+
String newLine = System.getProperty("line.separator");
12+
13+
result.append(this.getClass().getName());
14+
result.append(newLine);
15+
result.append("Object {");
16+
result.append(newLine);
17+
18+
Field[] fields = this.getClass().getDeclaredFields();
19+
20+
AccessibleObject.setAccessible(fields, true);
21+
22+
for (Field field : fields) {
23+
if (!Modifier.isStatic(field.getModifiers())) {
24+
result.append(" ");
25+
try {
26+
result.append(field.getName());
27+
result.append(": ");
28+
result.append(field.get(this));
29+
} catch (IllegalAccessException e) {
30+
e.printStackTrace();
31+
}
32+
result.append(newLine);
33+
}
34+
}
35+
36+
result.append("}");
37+
38+
return result.toString();
39+
}
40+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.eprogrammerz.examples.general.toString;
2+
3+
public class ToStringExample {
4+
public static void main(String[] args) {
5+
User user = new User("Yogen", "Rai", 120000L);
6+
System.out.println(user);
7+
}
8+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.eprogrammerz.examples.general.toString;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Data;
5+
import lombok.Getter;
6+
7+
@Getter
8+
@AllArgsConstructor
9+
public class User extends Model {
10+
private String firstName;
11+
private String lastName;
12+
private long id;
13+
private static Integer count;
14+
}

0 commit comments

Comments
 (0)