【再谈Java泛型---下】教程文章相关的互联网学习教程文章

JAVA泛型

JAVA中的基本类型,以及泛型的介绍、使用。一、数据类型数据类型:数据与操作是构成程序的两个要素,数据也是程序处理的对象。数据类型是对程序所处理的数据的抽象,数据类型决定了数据的含义、表示方式、存储格式和运算。JAVA基本数据类型:不存在引用的概念,基本数据类型都是直接存储在内存中的内存栈上,数据本身的值就是存储在栈空间里面,因此使用时需赋具体值,且可用==判断是否相等。JAVA里面的八种基本数据类型都是这种存...

Java泛型-需要说明【代码】

我对Java泛型有疑问.在下面的代码中,接口B由必须实现接口A的另一种类型参数化. 该代码是正确的.问题是:为什么它不能与以下list()方法声明一起使用?private <X extends A, Y extends B<X>> List<Y> list()工作代码:public interface A { } public interface B<T extends A> { } public class Test {private static class AA implements A {}private static class BB implements B<AA> {}private <R extends A, X extends R, Y ex...

Java泛型从泛型方法返回持有者对象【代码】

在下面的:public interface SomeInteface<A, B> { public B doSomething(A a); } 我想实现一个版本,其中方法doSomething将参数返回回来.我尝试了Holder课;class Holder<A> { public A value; public(A a){this.value = a;} }然后返回Holder.但是,我不确定如何定义SomeInterface的实现类,以便能够执行此操作. 以下内容甚至无法编译:public class SomeImplementation<X> implements SomeInterface<T> { private class Hol...

Java如何:从具有泛型的类创建泛型数组?【代码】

我有一个ClassClass ClassO.和类SecondClass< O&gt ;,我想在SecondClass< O>中创建一个O []在从FirstClass< O>调用的例程中,其中O是通用类参数.我找不到如何执行此操作. 我特别需要O [](而不是ArrayList O或类似的东西),因为我需要经常在循环体内获取它的元素,这对我算法的执行时间很重要. 因此,我希望遵循这些原则.public class FirstClass<O> {void someRoutine(n and other params) {//Do some stuffSecondClass<O> = new Secon...

java泛型类【代码】

你好,我有值的哈希图:private static final LinkedHashMap<Class<? extends Annotation> , Class<? extends AGenerator<?>>> annotationGeneratorMap = new LinkedHashMap<Class<? extends Annotation>, Class<? extends AGenerator<?>>>();我的数值生成器看起来像:public abstract class NumericGenerator<T extends Number> extends AGenerator<T>{public NumericGenerator(Field field) {super(field);// TODO Auto-generated...

java泛型详解(转载文章)【代码】

原文链接:https://blog.csdn.net/s10461/article/details/53941091 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之...

java-在构造函数上使用具有规范的泛型类型【代码】

如何在Java中正确执行以下操作?我想要一个可以创建对象列表的通用例程.在此例程中,我希望这些对象的类的构造函数支持特定的参数. 为了澄清:我希望该例程创建一个List< T>.从JSON字符串.这是较大的反序列化代码的一部分.如果我可以以某种方式指定每个受支持的T实现给定JSONObject的创建T的构造函数,那么我可以编写如下例程:interface CreatableFromJSONObject<T> {T(JSONObject object); // Complains about missing return ...

java-从泛型方法传播异常而无需引发声明【代码】

我有一个简单的界面public interface Func<I, O> {public O apply(I i); }我有一个带有一堆私有(静态)类的类,这些类实现了该接口,如下所示import org.json.*; public static class Baz {public static B Qux(String jsonSource) throws JSONException {JSONObject m = new JSONObject(jsonSource);return new Baz.Foo().apply(m);}private static class Foo implements Func<JSONObject, B> {public B apply(JSONObject f) {JSONOb...

双嵌套Java泛型【代码】

我今天早上问similar question,以为我已经回答了,实际上实施了建议的解决方案,但没有完成我需要的工作.所以这是我的全部问题: 我有以下课程:// Objects to process. public class Apple {private Color color;private int numberOfSeeds;// ... }public class Chair {private Material madeOutOfMaterial;private double price;// ... }public class CellPhone {private Manufacturer make;private String model;private boolean...

java-解密泛型语法【代码】

我正在阅读一个问题,下面给出了方法的签名public static <E extends CharSequence> List<? super E> doIt(List<E> nums) 我无法解码语法.我对仿制药很陌生,无法理解这部分.第一部分< E扩展了CharSequence>都告诉E应该是什么作为参数和返回类型.但我确实看到列表了吗?超级E&gt ;,这定义了返回类型的范围.有人可以通过示例帮助我理解这一点吗? 谢谢.解决方法: <E extends CharSequence>告诉E将成为CharSequence的子类型.这告诉编译...

Java创建泛型类型的数组【代码】

这个问题已经在这里有了答案: > What’s the reason I can’t create generic array types in Java? 15个我有一个通用K并希望创建一个空数组,所以我键入private K[] keys = new K[0];但是,eclipse说“无法创建K的通用数组” 我错过了什么吗?您可以创建一个空的int数组,这是泛型无法做到的吗?解决方法:您无法在Java中创建泛型数组.解决方法是:keys = (K[])new Obje...

java-使用泛型类型执行强制转换时发出警告【代码】

我不明白为什么在尝试执行此操作时会收到警告(未经检查的演员表):... Map<? estends SomeType, SomeOtherType> map; ... Map<SomeType, SomeOtherType> castedMap = (Map<SomeType, SomeOtherType>) map; ...我的意思是将castedMap发布到外部代码的危险是什么?两种操作均可在运行时完美运行: >使用SomeType类型的键从castedMap获取元素>使用SomeType类型的键将元素放入castedMap中. 我只是使用@SuppressWarnings(“ unchecked”...

JAVA 泛型中的通配符 T,E,K,V,?【代码】

JAVA 泛型中的通配符 T,E,K,V,?前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 泛型带来的好处 在没有泛型的情况的下,通过对类型 Object 的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型...

超类的Java泛型,但并非所有子类都想定义类型参数【代码】

我不知道如何很好地称呼它…我希望灵感会在以后出现,我可以对其进行更新,但是… 让我用一些(伪)代码描述一下: 我试图以一种整洁的方式处理服务器上的AJAX请求,这就是我想出的. 基本要求:public abstract class BaseRequest<T> {private final T details;public BaseRequest(T details) {this.details = details;}public abstract void process();}然后,我有一个处理一些传入数据的请求,可以说这是针对LoginDetails是bean的登录请...

如何防止使用Java泛型检查根类?【代码】

这是我的问题.我有一个简单的测试代码.public interface CommandFactory {public <T extends Command> T createCommand(Class<T> commandClass); } class Test implements CommandFactory { public static void main(String[] args) { Test test = new Test();test.createCommand(Command.class); // not valid case. should stop this action by compiler} @Overridepublic <T extends Command> T createCommand(Class<T>...