Skip to content

Commit daabb35

Browse files
author
bhuwang
committed
Added some generics related examples.
1 parent f6fcbc2 commit daabb35

8 files changed

+96
-14
lines changed

file_writer_demo.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
B100
2-
true
3-
10.2
41
Bhuwan
2+
Hello BufferWriter!!
3+
ABC
4+
X

src/com/bhuwan/java/generics/BoundedType.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class BoundedType {
1919
public static <T extends Comparable<T>> int compare(T t1, T t2) {
2020
return t1.compareTo(t2);
2121
}
22-
22+
2323
@SuppressWarnings("unused")
2424
public static void main(String[] args) {
2525
String name = "Bhuwan";

src/com/bhuwan/java/generics/ErasureDemo.java

+18
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,22 @@ public static void One(ArrayList<String> s) {
2626
// public static void One(ArrayList<Integer> s) {
2727
// }
2828

29+
public <T extends Happy> T foo(T emotion) {
30+
// do something
31+
return null;
32+
}
33+
34+
public <T extends Sad> T foo(T emotion) {
35+
return null;
36+
// do something else
37+
}
38+
39+
}
40+
41+
class Happy {
42+
43+
}
44+
45+
class Sad {
46+
2947
}

src/com/bhuwan/java/generics/GenericsAndInheritance.java

+12-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public static void main(String[] args) {
1717
// this is not same with generic
1818
// object = nameString;
1919

20-
InheritanceDemo3<String> abc = new InheritanceDemo3();
20+
InheritanceDemo4<CustomRunnableDemo> abc = new InheritanceDemo4();
2121
InheritanceDemo3<Object> xyz = new InheritanceDemo3();
2222
}
2323
}
@@ -37,6 +37,11 @@ class InheritanceDemo2<T extends Number & Comparable & Runnable> {
3737

3838
}
3939

40+
// syntax three
41+
class InheritanceDemo4<T extends Runnable> {
42+
43+
}
44+
4045
/**
4146
* syntax four
4247
*
@@ -46,6 +51,10 @@ class InheritanceDemo2<T extends Number & Comparable & Runnable> {
4651
// }
4752

4853
// syntax five
49-
class InheritanceDemo3<T>{
50-
54+
class InheritanceDemo3<T> {
55+
56+
}
57+
58+
class CustomRunnableDemo extends Thread {
59+
5160
}

src/com/bhuwan/java/generics/GenericsLowerBounded.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class GenericsLowerBounded {
1313

1414
public static void main(String[] args) {
1515
// it only accepts Number or Object type
16-
List<Number> ints = new ArrayList<>();
16+
List<Object> ints = new ArrayList<>();
1717
ints.add(3);
1818
ints.add(5);
1919
ints.add(10);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/**
2+
*
3+
*/
4+
package com.bhuwan.java.generics;
5+
6+
import java.util.ArrayList;
7+
import java.util.List;
8+
9+
/**
10+
* @author bhuwan
11+
*
12+
*/
13+
public class TestGenerics {
14+
15+
public static void main(String[] args) {
16+
List list = new ArrayList();
17+
list.add(123);
18+
list.add("Bhuwan");
19+
list.add(12.22);
20+
list.add(123.1f);
21+
22+
Double name = (Double) list.get(1);
23+
24+
System.out.println(list);
25+
System.out.println(name);
26+
27+
List<Integer> cities = new ArrayList<>();
28+
cities.add(1232);
29+
30+
CustomGenerics<Integer> numbers = new CustomGenerics<>();
31+
numbers.setT(1223);
32+
}
33+
34+
}
35+
36+
class CustomGenerics<T extends Number> {
37+
38+
private T t;
39+
40+
/**
41+
* @return the t
42+
*/
43+
public T getT() {
44+
return t;
45+
}
46+
47+
/**
48+
* @param t
49+
* the t to set
50+
*/
51+
public void setT(T t) {
52+
this.t = t;
53+
}
54+
55+
}

src/com/bhuwan/java/generics/UsingGenerics.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
*/
1212
public class UsingGenerics {
1313

14-
private static final Logger log = Logger.getLogger(WithoutUsingGenerics.class.getName());
14+
private static final Logger log = Logger.getLogger(UsingGenerics.class.getName());
1515

1616
public static void main(String args[]) {
1717

@@ -20,10 +20,10 @@ public static void main(String args[]) {
2020

2121
// add marks
2222
marksList.add(94.0);
23-
//marksList.add("Hundred");
23+
// marksList.add("Hundred");
2424
marksList.add(90.0);
25-
//compile-time error
26-
//marksList.add(72);
25+
// compile-time error
26+
// marksList.add(72);
2727

2828
log.info("Percentage:: " + calculatePercentage(marksList));
2929
}

src/com/bhuwan/java/io/file/BufferedWriterDemo.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ public class BufferedWriterDemo {
1919
*/
2020
public static void main(String[] args) throws IOException {
2121
try (BufferedWriter bw = new BufferedWriter(new FileWriter("file_writer_demo.txt", true));
22-
BufferedWriter bw1 = new BufferedWriter(new FileWriter("file_writer_demo.txt"));
22+
BufferedWriter bw1 = new BufferedWriter(new FileWriter("file_writer_demo1.txt"));
2323
// initializing double buffered writer object.
24-
BufferedWriter bw2 = new BufferedWriter(new BufferedWriter(new FileWriter("file_writer_demo.txt")));) {
24+
BufferedWriter bw2 = new BufferedWriter(new BufferedWriter(new FileWriter("file_writer_demo1.txt")));) {
2525
bw.write(66);
2626
bw.write("huwan");
2727
bw.newLine();

0 commit comments

Comments
 (0)