Skip to content

Commit f95b8e4

Browse files
update autoboxing
1 parent 30f6307 commit f95b8e4

File tree

6 files changed

+220
-0
lines changed

6 files changed

+220
-0
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package com.examplehub.basics.number;
2+
3+
public class DoubleExample {
4+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package com.examplehub.basics.oop;
2+
3+
public class ObjectExample {
4+
}

src/test/java/com/examplehub/basics/bool/BooleanExampleTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,24 @@ void testTernaryOperator() {
4848
int abs = num < 0 ? -num : num;
4949
assertEquals(3, abs);
5050
}
51+
52+
@Test
53+
void testValueOf() {
54+
Boolean b = Boolean.valueOf(true);
55+
assertTrue(b.booleanValue());
56+
57+
b = Boolean.valueOf("false");
58+
assertFalse(b.booleanValue());
59+
}
60+
61+
@Test
62+
void testAutoBoxing() {
63+
Boolean b = false;
64+
System.out.println(b);
65+
assertFalse(b);
66+
67+
boolean bValue = b;
68+
System.out.println(bValue);
69+
assertFalse(bValue);
70+
}
5171
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.examplehub.basics.number;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import static org.junit.jupiter.api.Assertions.*;
6+
7+
class DoubleExampleTest {
8+
@Test
9+
void testValueOf() {
10+
Double d = Double.valueOf(3.14);
11+
System.out.println(d.doubleValue());
12+
assertEquals(3.14, d.doubleValue());
13+
14+
d = Double.valueOf("3.14159");
15+
System.out.println(d.doubleValue());
16+
assertEquals(3.14159, d.doubleValue());
17+
}
18+
19+
@Test
20+
void testIsNaN() {
21+
Double d = 0.0 / 0;
22+
assertEquals(d, Double.NaN);
23+
}
24+
25+
@Test
26+
void testAutoboxing() {
27+
Double d = 3.14;
28+
assertEquals(3.14, d.doubleValue());
29+
double pi = d;
30+
assertEquals(3.14, pi);
31+
}
32+
}

src/test/java/com/examplehub/basics/number/IntegerExampleTest.java

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,51 @@
22

33
import static org.junit.jupiter.api.Assertions.*;
44

5+
import jdk.jfr.StackTrace;
56
import org.junit.jupiter.api.Test;
7+
import org.junit.jupiter.api.function.Executable;
68

79
class IntegerExampleTest {
10+
11+
@Test
12+
void testValueOf() {
13+
Integer integer = Integer.valueOf(100);
14+
System.out.println(integer);
15+
assertEquals(100, integer.intValue());
16+
17+
integer = Integer.valueOf("123");
18+
System.out.println(integer);
19+
assertEquals(123, integer.intValue());
20+
21+
integer = Integer.valueOf("a", 16);
22+
System.out.println(integer);
23+
assertEquals(10, integer.intValue());
24+
}
25+
26+
@Test
27+
void testParseInt() {
28+
int number = Integer.parseInt("123");
29+
System.out.println(number);
30+
assertEquals(123, number);
31+
32+
assertThrows(NumberFormatException.class, () -> {
33+
int num = Integer.parseInt("123a");
34+
fail();
35+
});
36+
}
37+
838
@Test
939
void testAutoBoxing() {
1040
Integer integer = 10;
1141
assertEquals(10, integer.intValue());
1242
Integer integer1 = 10;
1343
assertTrue(integer == integer1);
1444
assertTrue(integer.equals(integer1));
45+
46+
Integer first = 128;
47+
Integer second = 128;
48+
System.out.println(first == second);
49+
assertNotSame(first, second);
1550
}
1651

1752
@Test
@@ -24,4 +59,19 @@ void testAutoBoxingNullPointer() {
2459
assertTrue(true);
2560
}
2661
}
62+
63+
@Test
64+
void testToBinaryString() {
65+
assertEquals("1010", Integer.toBinaryString(10));
66+
}
67+
68+
@Test
69+
void testToOctalString() {
70+
assertEquals("12", Integer.toOctalString(10));
71+
}
72+
73+
@Test
74+
void test(){
75+
assertEquals("a", Integer.toHexString(10));
76+
}
2777
}
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
package com.examplehub.basics.oop;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import java.util.Objects;
6+
7+
import static org.junit.jupiter.api.Assertions.*;
8+
9+
class ObjectExampleTest {
10+
@Test
11+
void testObject() {
12+
Object o = new Object();
13+
System.out.println(o);
14+
}
15+
16+
@Test
17+
void testEquals() {
18+
class Student {
19+
private int id;
20+
private String name;
21+
public Student(int id, String name) {
22+
this.id = id;
23+
this.name = name;
24+
}
25+
}
26+
class People {
27+
private final String name;
28+
private final int age;
29+
30+
public People(String name, int age) {
31+
this.name = name;
32+
this.age = age;
33+
}
34+
35+
@Override
36+
public boolean equals(Object o) {
37+
if (this == o) return true;
38+
if (o == null || getClass() != o.getClass()) return false;
39+
People people = (People) o;
40+
return age == people.age && Objects.equals(name, people.name);
41+
}
42+
43+
@Override
44+
public int hashCode() {
45+
return 0;
46+
}
47+
}
48+
Student stu1 = new Student(10001, "duyuanchao");
49+
Student stu2 = new Student(10001, "duyuanchao");
50+
assertNotSame(stu1, stu2);
51+
assertNotEquals(stu1, stu2);
52+
53+
People p1 = new People("duyuanchao", 25);
54+
People p2 = new People("duyuanchao", 25);
55+
People p3 = new People("jack", 25);
56+
assertNotSame(p1, p2);
57+
assertEquals(p1, p2);
58+
assertNotEquals(p1, p3);
59+
}
60+
61+
@Test
62+
void testHashCode() {
63+
class People {
64+
private final String name;
65+
private final int age;
66+
67+
public People(String name, int age) {
68+
this.name = name;
69+
this.age = age;
70+
}
71+
72+
@Override
73+
public boolean equals(Object o) {
74+
if (this == o) return true;
75+
if (o == null || getClass() != o.getClass()) return false;
76+
People people = (People) o;
77+
return age == people.age && Objects.equals(name, people.name);
78+
}
79+
80+
@Override
81+
public int hashCode() {
82+
return this.age % 13;
83+
}
84+
}
85+
People p1 = new People("duyuanchao", 25);
86+
People p2 = new People("duyuanchao", 25);
87+
assertEquals(p1.hashCode(), p2.hashCode());
88+
}
89+
90+
@Test
91+
void testToString() {
92+
class People {
93+
private final String name;
94+
private final int age;
95+
96+
public People(String name, int age) {
97+
this.name = name;
98+
this.age = age;
99+
}
100+
101+
@Override
102+
public String toString() {
103+
return "name = " + name + ", age = " + age;
104+
}
105+
}
106+
107+
People people = new People("duyuanchao", 25);
108+
assertEquals("name = duyuanchao, age = 25", people.toString());
109+
}
110+
}

0 commit comments

Comments
 (0)