【问题标题】:Java syntax with greater than/less than: <> are they class specific?大于/小于的 Java 语法:<> 它们是特定于类的吗?
【发布时间】:2011-05-19 19:15:53
【问题描述】:

我一直在做一个Android教程,遇到了一个有以下内容的课程:

public class ImageAndTextAdapter extends ArrayAdapter<String> {

&lt;String&gt; 是按类型继承的一种形式吗?还是我应该了解的其他 Java 语法?

班级是:

android.widget.ArrayAdapter<String>

【问题讨论】:

    标签: java generics inheritance


    【解决方案1】:

    这称为泛型&lt;&gt; 中的类是一个类型参数

    这通过一个例子最容易解释:

    ArrayList 可以存储物品。如果你像这样指定一个类型参数:ArrayList&lt;String&gt;,那么这个数组列表将只存储String类型的项目,(换句话说,它将只存储Strings)!

    同样,ArrayAdapter 也由类型“参数化”。 ArrayAdapter 可能包含一个值,该值将属于在&lt;&gt; 之间指定的类型,在您的情况下为String

    有用的链接:

    【讨论】:

      【解决方案2】:

      那是Java Generics

      就像 C++ 模板。

      它表示 ArrayAdapter 由字符串数组支持。它非常有用,因此当您获取/添加对象时,它是类型安全的,您不必执行任何转换。

      【讨论】:

        【解决方案3】:

        这是Java1.5中引入的Generics的一部分,有时你不知道你可以传递或获取什么类型的对象,所以你可以传递一个泛型类型的对象"?"。在这个特定的实例中,您正在传递包含 String 对象的 ArrayAdapter 对象。你可以阅读更多http://en.wikipedia.org/wiki/Generics_in_Java

        【讨论】:

          【解决方案4】:

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-06-23
            • 1970-01-01
            • 1970-01-01
            • 2017-05-02
            • 1970-01-01
            • 2011-10-03
            相关资源
            最近更新 更多