Java

Java generics JDK 5 ,

Java

Java


  • <E>
  • intdoublechar

java

  • E - Element ()
  • T - TypeJava
  • K - Key
  • V - Value
  • N - Number
  • - java

public class GenericMethodTest { // printArray public static < E > void printArray( E[] inputArray ) { // for ( E element : inputArray ){ System.out.printf( "%s ", element ); } System.out.println(); } public static void main( String args[] ) { // Integer, Double Character Integer[] intArray = { 1, 2, 3, 4, 5 }; Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4 }; Character[] charArray = { 'H', 'E', 'L', 'L', 'O' }; System.out.println( ":" ); printArray( intArray ); // System.out.println( "\n:" ); printArray( doubleArray ); // System.out.println( "\n:" ); printArray( charArray ); // } }

:
1 2 3 4 5 

:
1.1 2.2 3.3 4.4 

:
H E L L O 

:

NumberNumber

extends

"extends""extends""implements"

public class MaximumTest { // public static <T extends Comparable<T>> T maximum(T x, T y, T z) { T max = x; // x if ( y.compareTo( max ) > 0 ){ max = y; //y } if ( z.compareTo( max ) > 0 ){ max = z; // z } return max; // } public static void main( String args[] ) { System.out.printf( "%d, %d %d %d\n\n", 3, 4, 5, maximum( 3, 4, 5 ) ); System.out.printf( "%.1f, %.1f %.1f %.1f\n\n", 6.6, 8.8, 7.7, maximum( 6.6, 8.8, 7.7 ) ); System.out.printf( "%s, %s %s %s\n","pear", "apple", "orange", maximum( "pear", "apple", "orange" ) ); } }

3, 4  5  5

6.6, 8.8  7.7  8.8

pear, apple  orange  pear

:

public class Box<T> { private T t; public void add(T t) { this.t = t; } public T get() { return t; } public static void main(String[] args) { Box<Integer> integerBox = new Box<Integer>(); Box<String> stringBox = new Box<String>(); integerBox.add(new Integer(10)); stringBox.add(new String("")); System.out.printf(" :%d\n\n", integerBox.get()); System.out.printf(" :%s\n", stringBox.get()); } }

 :10

 :

1 ? List<?> List<String>,List<Integer> List<>

import java.util.*; public class GenericTest { public static void main(String[] args) { List<String> name = new ArrayList<String>(); List<Integer> age = new ArrayList<Integer>(); List<Number> number = new ArrayList<Number>(); name.add("icon"); age.add(18); number.add(314); getData(name); getData(age); getData(number); } public static void getData(List<?> data) { System.out.println("data :" + data.get(0)); } }

data :icon
data :18
data :314

getData() List<?> nameagenumber

2List


Web Proxy Viewer  |  New URL  |  Original Page