|
41 | 41 | * [Java Abstraction](#-17-java-abstraction)
|
42 | 42 | * [Java Interfaces](#-18-java-interfaces)
|
43 | 43 | * [Java Encapsulation](#-19-java-encapsulation)
|
44 |
| -* [Miscellaneous](#-20-miscellaneous) |
| 44 | +* [Java Generics](#-20-java-generics) |
| 45 | +* [Miscellaneous](#-21-miscellaneous) |
45 | 46 |
|
46 | 47 | <br/>
|
47 | 48 |
|
@@ -4026,7 +4027,70 @@ public class MainClass {
|
4026 | 4027 | <b><a href="#related-topics">↥ back to top</a></b>
|
4027 | 4028 | </div>
|
4028 | 4029 |
|
4029 |
| -## # 20. MISCELLANEOUS |
| 4030 | +## # 20. JAVA GENERICS |
| 4031 | + |
| 4032 | +<br/> |
| 4033 | + |
| 4034 | +## Q. Do you know Generics? How did you used in your coding? |
| 4035 | + |
| 4036 | +`Generics` allows type (Integer, String, … etc and user defined types) to be a parameter to methods, classes and interfaces. For example, classes like HashSet, ArrayList, HashMap, etc use generics very well. |
| 4037 | + |
| 4038 | +**Advantages:** |
| 4039 | + |
| 4040 | +* **Type-safety**: We can hold only a single type of objects in generics. It doesn\'t allow to store other objects. |
| 4041 | +* **Type Casting**: There is no need to typecast the object. |
| 4042 | +* **Compile-Time Checking**: It is checked at compile time so problem will not occur at runtime. |
| 4043 | +
|
| 4044 | +**Example:** |
| 4045 | +
|
| 4046 | +```java |
| 4047 | +/** |
| 4048 | +* A Simple Java program to show multiple |
| 4049 | +* type parameters in Java Generics |
| 4050 | +* |
| 4051 | +* We use < > to specify Parameter type |
| 4052 | +* |
| 4053 | +**/ |
| 4054 | +class GenericClass<T, U> { |
| 4055 | + T obj1; // An object of type T |
| 4056 | + U obj2; // An object of type U |
| 4057 | + |
| 4058 | + // constructor |
| 4059 | + GenericClass(T obj1, U obj2) { |
| 4060 | + this.obj1 = obj1; |
| 4061 | + this.obj2 = obj2; |
| 4062 | + } |
| 4063 | + |
| 4064 | + // To print objects of T and U |
| 4065 | + public void print() { |
| 4066 | + System.out.println(obj1); |
| 4067 | + System.out.println(obj2); |
| 4068 | + } |
| 4069 | +} |
| 4070 | + |
| 4071 | +// Driver class to test above |
| 4072 | +class MainClass { |
| 4073 | + public static void main (String[] args) { |
| 4074 | + GenericClass <String, Integer> obj = |
| 4075 | + new GenericClass<String, Integer>("Generic Class Example !", 100); |
| 4076 | + |
| 4077 | + obj.print(); |
| 4078 | + } |
| 4079 | +} |
| 4080 | +``` |
| 4081 | +
|
| 4082 | +Output: |
| 4083 | +
|
| 4084 | +```java |
| 4085 | +Generic Class Example ! |
| 4086 | +100 |
| 4087 | +``` |
| 4088 | +
|
| 4089 | +<div align="right"> |
| 4090 | + <b><a href="#related-topics">↥ back to top</a></b> |
| 4091 | +</div> |
| 4092 | +
|
| 4093 | +## # 21. MISCELLANEOUS |
4030 | 4094 |
|
4031 | 4095 | <br/>
|
4032 | 4096 |
|
@@ -4424,65 +4488,6 @@ There are 4 types of JDBC drivers:
|
4424 | 4488 | <b><a href="#related-topics">↥ back to top</a></b>
|
4425 | 4489 | </div>
|
4426 | 4490 |
|
4427 |
| -## Q. Do you know Generics? How did you used in your coding? |
4428 |
| -
|
4429 |
| -`Generics` allows type (Integer, String, … etc and user defined types) to be a parameter to methods, classes and interfaces. For example, classes like HashSet, ArrayList, HashMap, etc use generics very well. |
4430 |
| -
|
4431 |
| -**Advantages:** |
4432 |
| -
|
4433 |
| -* **Type-safety**: We can hold only a single type of objects in generics. It doesn\'t allow to store other objects. |
4434 |
| -* **Type Casting**: There is no need to typecast the object. |
4435 |
| -* **Compile-Time Checking**: It is checked at compile time so problem will not occur at runtime. |
4436 |
| -
|
4437 |
| -**Example:** |
4438 |
| -
|
4439 |
| -```java |
4440 |
| -/** |
4441 |
| -* A Simple Java program to show multiple |
4442 |
| -* type parameters in Java Generics |
4443 |
| -* |
4444 |
| -* We use < > to specify Parameter type |
4445 |
| -* |
4446 |
| -**/ |
4447 |
| -class GenericClass<T, U> { |
4448 |
| - T obj1; // An object of type T |
4449 |
| - U obj2; // An object of type U |
4450 |
| - |
4451 |
| - // constructor |
4452 |
| - GenericClass(T obj1, U obj2) { |
4453 |
| - this.obj1 = obj1; |
4454 |
| - this.obj2 = obj2; |
4455 |
| - } |
4456 |
| - |
4457 |
| - // To print objects of T and U |
4458 |
| - public void print() { |
4459 |
| - System.out.println(obj1); |
4460 |
| - System.out.println(obj2); |
4461 |
| - } |
4462 |
| -} |
4463 |
| - |
4464 |
| -// Driver class to test above |
4465 |
| -class MainClass { |
4466 |
| - public static void main (String[] args) { |
4467 |
| - GenericClass <String, Integer> obj = |
4468 |
| - new GenericClass<String, Integer>("Generic Class Example !", 100); |
4469 |
| - |
4470 |
| - obj.print(); |
4471 |
| - } |
4472 |
| -} |
4473 |
| -``` |
4474 |
| -
|
4475 |
| -Output: |
4476 |
| -
|
4477 |
| -```java |
4478 |
| -Generic Class Example ! |
4479 |
| -100 |
4480 |
| -``` |
4481 |
| -
|
4482 |
| -<div align="right"> |
4483 |
| - <b><a href="#related-topics">↥ back to top</a></b> |
4484 |
| -</div> |
4485 |
| -
|
4486 | 4491 | ## Q. What additional methods for working with associative arrays (maps) appeared in Java 8?
|
4487 | 4492 |
|
4488 | 4493 | * `putIfAbsent()` adds a key-value pair only if the key was missing:
|
|
0 commit comments