<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FGenerics%2FGeneric_Class</id>
		<title>Java Tutorial/Generics/Generic Class - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FGenerics%2FGeneric_Class"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Generics/Generic_Class&amp;action=history"/>
		<updated>2026-04-23T10:13:01Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Generics/Generic_Class&amp;diff=5452&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Generics/Generic_Class&amp;diff=5452&amp;oldid=prev"/>
				<updated>2010-06-01T05:20:57Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:20, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Generics/Generic_Class&amp;diff=5451&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Generics/Generic_Class&amp;diff=5451&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Defining a Generic Class Type ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.awt.Point;&lt;br /&gt;
class ListItem {&lt;br /&gt;
  public ListItem(Object item) {&lt;br /&gt;
    this.item = item;&lt;br /&gt;
    next = null;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return &amp;quot;ListItem &amp;quot; + item;&lt;br /&gt;
  }&lt;br /&gt;
  ListItem next;&lt;br /&gt;
  Object item;&lt;br /&gt;
}&lt;br /&gt;
class LinkedList&amp;lt;T&amp;gt; {&lt;br /&gt;
  public LinkedList() {&lt;br /&gt;
  }&lt;br /&gt;
  public LinkedList(T item) {&lt;br /&gt;
    if (item != null) {&lt;br /&gt;
      current = end = start = new ListItem(item);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public LinkedList(T[] items) {&lt;br /&gt;
    if (items != null) {&lt;br /&gt;
      for (int i = 0; i &amp;lt; items.length; i++) {&lt;br /&gt;
        addItem(items[i]);&lt;br /&gt;
      }&lt;br /&gt;
      current = start;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void addItem(T item) {&lt;br /&gt;
    ListItem newEnd = new ListItem(item);&lt;br /&gt;
    if (start == null) {&lt;br /&gt;
      start = end = newEnd;&lt;br /&gt;
    } else {&lt;br /&gt;
      end.next = newEnd;&lt;br /&gt;
      end = newEnd;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public T getFirst() {&lt;br /&gt;
    current = start;&lt;br /&gt;
    return start == null ? null : start.item;&lt;br /&gt;
  }&lt;br /&gt;
  public T getNext() {&lt;br /&gt;
    if (current != null) {&lt;br /&gt;
      current = current.next;&lt;br /&gt;
    }&lt;br /&gt;
    return current == null ? null : current.item;&lt;br /&gt;
  }&lt;br /&gt;
  private ListItem start = null;&lt;br /&gt;
  private ListItem end = null;&lt;br /&gt;
  private ListItem current = null;&lt;br /&gt;
  private class ListItem {&lt;br /&gt;
    public ListItem(T item) {&lt;br /&gt;
      this.item = item;&lt;br /&gt;
      next = null;&lt;br /&gt;
    }&lt;br /&gt;
    public String toString() {&lt;br /&gt;
      return &amp;quot;ListItem &amp;quot; + item;&lt;br /&gt;
    }&lt;br /&gt;
    ListItem next;&lt;br /&gt;
    T item;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] a) {&lt;br /&gt;
    LinkedList&amp;lt;Point&amp;gt; polyline = new LinkedList&amp;lt;Point&amp;gt;();&lt;br /&gt;
    polyline.addItem(new Point(1, 2));&lt;br /&gt;
    polyline.addItem(new Point(2, 3));&lt;br /&gt;
    Point p = polyline.getFirst();&lt;br /&gt;
    System.out.println(p);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;java.awt.Point[x=1,y=2]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Generic class Stack ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class Stack&amp;lt;E&amp;gt; {&lt;br /&gt;
  private final int size;&lt;br /&gt;
  private int top;&lt;br /&gt;
  private E[] elements;&lt;br /&gt;
  public Stack() {&lt;br /&gt;
    this(10);&lt;br /&gt;
  }&lt;br /&gt;
  public Stack(int s) {&lt;br /&gt;
    size = s &amp;gt; 0 ? s : 10;&lt;br /&gt;
    top = -1;&lt;br /&gt;
    elements = (E[]) new Object[size]; // create array&lt;br /&gt;
  }&lt;br /&gt;
  public void push(E pushValue) {&lt;br /&gt;
    if (top == size - 1) // if stack is full&lt;br /&gt;
      throw new FullStackException(String.format(&amp;quot;Stack is full, cannot push %s&amp;quot;, pushValue));&lt;br /&gt;
    elements[++top] = pushValue; // place pushValue on Stack&lt;br /&gt;
  }&lt;br /&gt;
  public E pop() {&lt;br /&gt;
    if (top == -1) // if stack is empty&lt;br /&gt;
      throw new EmptyStackException(&amp;quot;Stack is empty, cannot pop&amp;quot;);&lt;br /&gt;
    return elements[top--]; // remove and return top element of Stack&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class EmptyStackException extends RuntimeException {&lt;br /&gt;
  public EmptyStackException() {&lt;br /&gt;
    this(&amp;quot;Stack is empty&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public EmptyStackException(String exception) {&lt;br /&gt;
    super(exception);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class FullStackException extends RuntimeException {&lt;br /&gt;
  public FullStackException() {&lt;br /&gt;
    this(&amp;quot;Stack is full&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public FullStackException(String exception) {&lt;br /&gt;
    super(exception);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    double[] doubleElements = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6 };&lt;br /&gt;
    int[] integerElements = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };&lt;br /&gt;
    Stack&amp;lt;Double&amp;gt; doubleStack = new Stack&amp;lt;Double&amp;gt;(5);&lt;br /&gt;
    Stack&amp;lt;Integer&amp;gt; integerStack = new Stack&amp;lt;Integer&amp;gt;(10);&lt;br /&gt;
    // test Push Double&lt;br /&gt;
    try {&lt;br /&gt;
      System.out.println(&amp;quot;\nPushing elements onto doubleStack&amp;quot;);&lt;br /&gt;
      for (double element : doubleElements) {&lt;br /&gt;
        System.out.printf(&amp;quot;%.1f &amp;quot;, element);&lt;br /&gt;
        doubleStack.push(element);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (FullStackException fullStackException) {&lt;br /&gt;
      System.err.println();&lt;br /&gt;
      fullStackException.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
    // test Pop Double&lt;br /&gt;
    try {&lt;br /&gt;
      System.out.println(&amp;quot;\nPopping elements from doubleStack&amp;quot;);&lt;br /&gt;
      double popValue;&lt;br /&gt;
      while (true) {&lt;br /&gt;
        popValue = doubleStack.pop(); // pop from doubleStack&lt;br /&gt;
        System.out.printf(&amp;quot;%.1f &amp;quot;, popValue);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (EmptyStackException emptyStackException) {&lt;br /&gt;
      System.err.println();&lt;br /&gt;
      emptyStackException.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
    // test push method with integer stack&lt;br /&gt;
    try {&lt;br /&gt;
      System.out.println(&amp;quot;\nPushing elements onto integerStack&amp;quot;);&lt;br /&gt;
      for (int element : integerElements) {&lt;br /&gt;
        System.out.printf(&amp;quot;%d &amp;quot;, element);&lt;br /&gt;
        integerStack.push(element);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (FullStackException fullStackException) {&lt;br /&gt;
      System.err.println();&lt;br /&gt;
      fullStackException.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
    // test pop method with integer stack&lt;br /&gt;
    try {&lt;br /&gt;
      System.out.println(&amp;quot;\nPopping elements from integerStack&amp;quot;);&lt;br /&gt;
      int popValue; // store element removed from stack&lt;br /&gt;
      // remove all elements from Stack&lt;br /&gt;
      while (true) {&lt;br /&gt;
        popValue = integerStack.pop();&lt;br /&gt;
        System.out.printf(&amp;quot;%d &amp;quot;, popValue);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (EmptyStackException emptyStackException) {&lt;br /&gt;
      System.err.println();&lt;br /&gt;
      emptyStackException.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Raw type test for a generic Stack ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class Stack&amp;lt;E&amp;gt; {&lt;br /&gt;
  private final int size;&lt;br /&gt;
  private int top;&lt;br /&gt;
  private E[] elements;&lt;br /&gt;
  public Stack() {&lt;br /&gt;
    this(10);&lt;br /&gt;
  }&lt;br /&gt;
  public Stack(int s) {&lt;br /&gt;
    size = s &amp;gt; 0 ? s : 10;&lt;br /&gt;
    top = -1;&lt;br /&gt;
    elements = (E[]) new Object[size]; // create array&lt;br /&gt;
  }&lt;br /&gt;
  public void push(E pushValue) {&lt;br /&gt;
    if (top == size - 1) // if stack is full&lt;br /&gt;
      throw new FullStackException(String.format(&amp;quot;Stack is full, cannot push %s&amp;quot;, pushValue));&lt;br /&gt;
    elements[++top] = pushValue; // place pushValue on Stack&lt;br /&gt;
  }&lt;br /&gt;
  public E pop() {&lt;br /&gt;
    if (top == -1) // if stack is empty&lt;br /&gt;
      throw new EmptyStackException(&amp;quot;Stack is empty, cannot pop&amp;quot;);&lt;br /&gt;
    return elements[top--]; // remove and return top element of Stack&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class EmptyStackException extends RuntimeException {&lt;br /&gt;
  public EmptyStackException() {&lt;br /&gt;
    this(&amp;quot;Stack is empty&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public EmptyStackException(String exception) {&lt;br /&gt;
    super(exception);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class FullStackException extends RuntimeException {&lt;br /&gt;
  public FullStackException() {&lt;br /&gt;
    this(&amp;quot;Stack is full&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public FullStackException(String exception) {&lt;br /&gt;
    super(exception);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  private static Double[] doubleElements = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6 };&lt;br /&gt;
  private static Integer[] integerElements = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };&lt;br /&gt;
  // generic method pushes elements onto stack&lt;br /&gt;
  public static &amp;lt;T&amp;gt; void testPush(String name, Stack&amp;lt;T&amp;gt; stack, T[] elements) {&lt;br /&gt;
    try {&lt;br /&gt;
      System.out.printf(&amp;quot;\nPushing elements onto %s\n&amp;quot;, name);&lt;br /&gt;
      for (T element : elements) {&lt;br /&gt;
        System.out.printf(&amp;quot;%s &amp;quot;, element);&lt;br /&gt;
        stack.push(element);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (FullStackException fullStackException) {&lt;br /&gt;
      System.out.println();&lt;br /&gt;
      fullStackException.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  // generic method testPop pops elements from stack&lt;br /&gt;
  public static &amp;lt;T&amp;gt; void testPop(String name, Stack&amp;lt;T&amp;gt; stack) {&lt;br /&gt;
    try {&lt;br /&gt;
      System.out.printf(&amp;quot;\nPopping elements from %s\n&amp;quot;, name);&lt;br /&gt;
      T popValue;&lt;br /&gt;
      while (true) {&lt;br /&gt;
        popValue = stack.pop();&lt;br /&gt;
        System.out.printf(&amp;quot;%s &amp;quot;, popValue);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (EmptyStackException emptyStackException) {&lt;br /&gt;
      System.out.println();&lt;br /&gt;
      emptyStackException.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    Stack rawTypeStack1 = new Stack(5);&lt;br /&gt;
    Stack rawTypeStack2 = new Stack&amp;lt;Double&amp;gt;(5);&lt;br /&gt;
    Stack&amp;lt;Integer&amp;gt; integerStack = new Stack(10);&lt;br /&gt;
    testPush(&amp;quot;rawTypeStack1&amp;quot;, rawTypeStack1, doubleElements);&lt;br /&gt;
    testPop(&amp;quot;rawTypeStack1&amp;quot;, rawTypeStack1);&lt;br /&gt;
    testPush(&amp;quot;rawTypeStack2&amp;quot;, rawTypeStack2, doubleElements);&lt;br /&gt;
    testPop(&amp;quot;rawTypeStack2&amp;quot;, rawTypeStack2);&lt;br /&gt;
    testPush(&amp;quot;integerStack&amp;quot;, integerStack, integerElements);&lt;br /&gt;
    testPop(&amp;quot;integerStack&amp;quot;, integerStack);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  The Run-Time Types of Generic Type Instances ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.LinkedList;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    LinkedList&amp;lt;String&amp;gt; proverbs = new LinkedList&amp;lt;String&amp;gt;();&lt;br /&gt;
    LinkedList&amp;lt;Double&amp;gt; numbers = new LinkedList&amp;lt;Double&amp;gt;();&lt;br /&gt;
    System.out.println(&amp;quot;numbers class name &amp;quot; + numbers.getClass().getName());&lt;br /&gt;
    System.out.println(&amp;quot;proverbs class name &amp;quot; + proverbs.getClass().getName());&lt;br /&gt;
    System.out.println(&amp;quot;Compare Class objects: &amp;quot; + numbers.getClass().equals(proverbs.getClass()));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;numbers class name java.util.LinkedList&lt;br /&gt;
proverbs class name java.util.LinkedList&lt;br /&gt;
Compare Class objects: true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Use generic method to test generic Stack ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// Generic class Stack.&lt;br /&gt;
class Stack&amp;lt;E&amp;gt; {&lt;br /&gt;
  private final int size;&lt;br /&gt;
  private int top;&lt;br /&gt;
  private E[] elements;&lt;br /&gt;
  public Stack() {&lt;br /&gt;
    this(10);&lt;br /&gt;
  }&lt;br /&gt;
  public Stack(int s) {&lt;br /&gt;
    size = s &amp;gt; 0 ? s : 10;&lt;br /&gt;
    top = -1;&lt;br /&gt;
    elements = (E[]) new Object[size]; // create array&lt;br /&gt;
  }&lt;br /&gt;
  public void push(E pushValue) {&lt;br /&gt;
    if (top == size - 1) // if stack is full&lt;br /&gt;
      throw new FullStackException(String.format(&amp;quot;Stack is full, cannot push %s&amp;quot;, pushValue));&lt;br /&gt;
    elements[++top] = pushValue; // place pushValue on Stack&lt;br /&gt;
  }&lt;br /&gt;
  public E pop() {&lt;br /&gt;
    if (top == -1) // if stack is empty&lt;br /&gt;
      throw new EmptyStackException(&amp;quot;Stack is empty, cannot pop&amp;quot;);&lt;br /&gt;
    return elements[top--]; // remove and return top element of Stack&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class EmptyStackException extends RuntimeException {&lt;br /&gt;
  public EmptyStackException() {&lt;br /&gt;
    this(&amp;quot;Stack is empty&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public EmptyStackException(String exception) {&lt;br /&gt;
    super(exception);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class FullStackException extends RuntimeException {&lt;br /&gt;
  public FullStackException() {&lt;br /&gt;
    this(&amp;quot;Stack is full&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public FullStackException(String exception) {&lt;br /&gt;
    super(exception);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  private static Double[] doubleElements = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6 };&lt;br /&gt;
  private static Integer[] integerElements = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };&lt;br /&gt;
  private static Stack&amp;lt;Double&amp;gt; doubleStack = new Stack&amp;lt;Double&amp;gt;(5); // Stack of&lt;br /&gt;
                                                                    // Doubles&lt;br /&gt;
  private static Stack&amp;lt;Integer&amp;gt; integerStack = new Stack&amp;lt;Integer&amp;gt;(10); // Stack&lt;br /&gt;
                                                                        // of&lt;br /&gt;
                                                                        // Integers&lt;br /&gt;
  // generic method testPush pushes elements onto a Stack&lt;br /&gt;
  public static &amp;lt;T&amp;gt; void testPush(String name, Stack&amp;lt;T&amp;gt; stack, T[] elements) {&lt;br /&gt;
    try {&lt;br /&gt;
      System.out.printf(&amp;quot;\nPushing elements onto %s\n&amp;quot;, name);&lt;br /&gt;
      for (T element : elements) {&lt;br /&gt;
        System.out.printf(&amp;quot;%s &amp;quot;, element);&lt;br /&gt;
        stack.push(element);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (FullStackException fullStackException) {&lt;br /&gt;
      System.out.println();&lt;br /&gt;
      fullStackException.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  // generic method testPop pops elements from a Stack&lt;br /&gt;
  public static &amp;lt;T&amp;gt; void testPop(String name, Stack&amp;lt;T&amp;gt; stack) {&lt;br /&gt;
    try {&lt;br /&gt;
      System.out.printf(&amp;quot;\nPopping elements from %s\n&amp;quot;, name);&lt;br /&gt;
      T popValue;&lt;br /&gt;
      while (true) {&lt;br /&gt;
        popValue = stack.pop();&lt;br /&gt;
        System.out.printf(&amp;quot;%s &amp;quot;, popValue);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (EmptyStackException emptyStackException) {&lt;br /&gt;
      System.out.println();&lt;br /&gt;
      emptyStackException.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    testPush(&amp;quot;doubleStack&amp;quot;, doubleStack, doubleElements);&lt;br /&gt;
    testPop(&amp;quot;doubleStack&amp;quot;, doubleStack);&lt;br /&gt;
    testPush(&amp;quot;integerStack&amp;quot;, integerStack, integerElements);&lt;br /&gt;
    testPop(&amp;quot;integerStack&amp;quot;, integerStack);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using Primitive Type Wrapper Class Types as Arguments ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class ListItem {&lt;br /&gt;
  public ListItem(Object item) {&lt;br /&gt;
    this.item = item;&lt;br /&gt;
    next = null;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return &amp;quot;ListItem &amp;quot; + item;&lt;br /&gt;
  }&lt;br /&gt;
  ListItem next;&lt;br /&gt;
  Object item;&lt;br /&gt;
}&lt;br /&gt;
class LinkedList&amp;lt;T&amp;gt; {&lt;br /&gt;
  public LinkedList() {&lt;br /&gt;
  }&lt;br /&gt;
  public LinkedList(T item) {&lt;br /&gt;
    if (item != null) {&lt;br /&gt;
      current = end = start = new ListItem(item);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public LinkedList(T[] items) {&lt;br /&gt;
    if (items != null) {&lt;br /&gt;
      for (int i = 0; i &amp;lt; items.length; i++) {&lt;br /&gt;
        addItem(items[i]);&lt;br /&gt;
      }&lt;br /&gt;
      current = start;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void addItem(T item) {&lt;br /&gt;
    ListItem newEnd = new ListItem(item);&lt;br /&gt;
    if (start == null) {&lt;br /&gt;
      start = end = newEnd;&lt;br /&gt;
    } else {&lt;br /&gt;
      end.next = newEnd;&lt;br /&gt;
      end = newEnd;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public T getFirst() {&lt;br /&gt;
    current = start;&lt;br /&gt;
    return start == null ? null : start.item;&lt;br /&gt;
  }&lt;br /&gt;
  public T getNext() {&lt;br /&gt;
    if (current != null) {&lt;br /&gt;
      current = current.next;&lt;br /&gt;
    }&lt;br /&gt;
    return current == null ? null : current.item;&lt;br /&gt;
  }&lt;br /&gt;
  private ListItem start = null;&lt;br /&gt;
  private ListItem end = null;&lt;br /&gt;
  private ListItem current = null;&lt;br /&gt;
  private class ListItem {&lt;br /&gt;
    public ListItem(T item) {&lt;br /&gt;
      this.item = item;&lt;br /&gt;
      next = null;&lt;br /&gt;
    }&lt;br /&gt;
    public String toString() {&lt;br /&gt;
      return &amp;quot;ListItem &amp;quot; + item;&lt;br /&gt;
    }&lt;br /&gt;
    ListItem next;&lt;br /&gt;
    T item;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    LinkedList&amp;lt;Double&amp;gt; temperatures = new LinkedList&amp;lt;Double&amp;gt;();&lt;br /&gt;
    // Insert 6 temperature values 0 to 25 degress Centigrade&lt;br /&gt;
    for (int i = 0; i &amp;lt; 6; i++) {&lt;br /&gt;
      temperatures.addItem(25.0 * Math.random());&lt;br /&gt;
    }&lt;br /&gt;
    System.out.printf(&amp;quot;%.2f degrees Fahrenheit%n&amp;quot;, toFahrenheit(temperatures.getFirst()));&lt;br /&gt;
    Double value = null;&lt;br /&gt;
    while ((value = temperatures.getNext()) != null) {&lt;br /&gt;
      System.out.printf(&amp;quot;%.2f degrees Fahrenheit%n&amp;quot;, toFahrenheit(value));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  // Convert Centigrade to Fahrenheit&lt;br /&gt;
  public static double toFahrenheit(double temperature) {&lt;br /&gt;
    return 1.8 * temperature + 32.0;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;69.27 degrees Fahrenheit&lt;br /&gt;
51.55 degrees Fahrenheit&lt;br /&gt;
59.97 degrees Fahrenheit&lt;br /&gt;
35.82 degrees Fahrenheit&lt;br /&gt;
41.28 degrees Fahrenheit&lt;br /&gt;
37.99 degrees Fahrenheit&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>