有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

jdk1。5 Java泛型和“…”

  1. {}和{}是什么意思
  2. public void main(String... abc);{}是什么意思?...也被称为泛型吗

共 (6) 个答案

  1. # 1 楼答案

    1. 那是parameterized types。您可以在这里使用任何标识符来表示特定的对象类型
    2. 那是varargs。可以在中传递单个字符串、多个字符串或字符串数组
  2. # 2 楼答案

    TS是泛型类。它们可以是你想要的任何类型的类。例如,Map<K, V>K用于键类,将V用于值类

    Map<Integer, String> map = new HashMap<Integer, String>
    

    至于String...,它表示任意数量的字符串参数

  3. # 3 楼答案

    补充: String...几乎与String[]相同
    在方法方面也是一样的,
    在调用端,它们是不同的:编译器根据参数创建数组

    void method(String... args) {
        // args is an array: getClass() returns [java.lang.String
        if (args.length >  0) {
            System.out.println(args[0]);
    ...
        method();               // same as method(new String[0]);
        method("1", "2", "3");  // same as method(new String[] {"1", "2", "3"});
    
  4. # 4 楼答案

    1. 请阅读the documentation。简单地说,它们是类型参数,因此泛型类型和方法可以知道它们作用于什么类型的对象
    2. 这表明该方法可以接受数量可变的参数。见varargs。它基本上是一个阵列周围的糖
  5. # 5 楼答案

    T和S意味着类本身不知道它们是什么类,但是使用类的东西知道

    以java为例。util。列表list类对T一无所知,也不对T做任何假设。使用list类的东西:

    List<MyBean> l = new ArrayList<MyBean>();
    

    知道里面有什么