Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使其通用?_Java_Generics - Fatal编程技术网

Java 如何使其通用?

Java 如何使其通用?,java,generics,Java,Generics,我有一个问题。如何使整个代码通用?那么变量、方法和类呢?如果有人能证明这是怎么做的。这对我有很大帮助 public class Linkedlist { private Node head; private class node{ Object data; Node next; } //Getter for data head-node Object getFirstDate () { 谢

我有一个问题。如何使整个代码通用?那么变量、方法和类呢?如果有人能证明这是怎么做的。这对我有很大帮助

public class Linkedlist { 
     private Node head; 

     private class node{ 
        Object data; 
        Node next;
        }

      //Getter for data head-node
      Object getFirstDate () { 

谢谢

我猜您希望将类节点设置为泛型。在这种情况下,添加通用定义并将数据类型从Object更改为T:


差不多是这样的:

public class Linkedlist<T> { 
     private Node<T> head; 

     private class Node<T>{ 
        T data; 
        Node next;
        }

      //Getter for data head-node
T getFirstDate () { 

一个简单的通用示例尝试分析我之后给出的示例 你会自动得到你的答案

class A<T>
{
    T value;
    public A(T x)
    {
        value=x;
    }
    public void display()
    {
        System.out.println(value);
    }
}
class GenericType{
    public static void main(String arr[])
    {
        A<String> x=new A("It is a String class");
        A<Integer> y=new A(5);
        x.display();
        y.display();
    }
}
了解Java的泛型。
class A<T>
{
    T value;
    public A(T x)
    {
        value=x;
    }
    public void display()
    {
        System.out.println(value);
    }
}
class GenericType{
    public static void main(String arr[])
    {
        A<String> x=new A("It is a String class");
        A<Integer> y=new A(5);
        x.display();
        y.display();
    }
}