|
|
Program: Write a simple generics class example.
Below example shows how to create a simple generics class. We have created SimpleGeneric
class, which accepts single type parameter. Look at the generics class definition, the type parameter should
be followed by class name and should contain with in <>, here T defines the type parameter. You can find
comments at example itself.
package com.java2novice.generics;
public class MySimpleGenerics {
public static void main(String a[]){
//we are going to create SimpleGeneric object with String as type parameter
SimpleGeneric<String> sgs = new SimpleGeneric<String>("JAVA2NOVICE");
sgs.printType();
//we are going to create SimpleGeneric object with Boolean as type parameter
SimpleGeneric<Boolean> sgb = new SimpleGeneric<Boolean>(Boolean.TRUE);
sgb.printType();
}
}
/**
* Here T is a type parameter, and it will be replaced with
* actual type when the object got created.
*/
class SimpleGeneric<T>{
//declaration of object type T
private T objReff = null;
//constructor to accept type parameter T
public SimpleGeneric(T param){
this.objReff = param;
}
public T getObjReff(){
return this.objReff;
}
//this method prints the holding parameter type
public void printType(){
System.out.println("Type: "+objReff.getClass().getName());
}
}
|
|
Output: |
Type: java.lang.String
Type: java.lang.Boolean
|
|
|
|
|
Java Generics Sample Code Examples
- Write a simple generics class example.
- Write a simple generics class example with two type parameters.
- How implement bounded types (extend superclass) with generics?
- How implement bounded types (implements an interface) with generics?
- What is generics wildcard arguments? Give an example.
|
|
|
wait Vs sleep methods
sleep():
It is a static method on Thread class. It makes the current thread into the
"Not Runnable" state for specified amount of time. During this time, the thread
keeps the lock (monitors) it has acquired.
wait():
It is a method on Object class. It makes the current thread into the "Not Runnable"
state. Wait is called on a object, not a thread. Before calling wait() method, the
object should be synchronized, means the object should be inside synchronized block.
The call to wait() releases the acquired lock.
Discipline is just choosing between what you want now and what you want most.
-- Unknown Author
|