关于java泛型的一个编程

问题描述

创建一个参数化类型的随机访问列表RandomList,这个类有一个put(T element)方法加入元素,并且有一个select()方法可以从中随机的选择一个元素,创建一个main方法,使得可以打印出select()方法所选择的元素。

解决方案

import java.util.ArrayList;import java.util.List;public class Test6 {public static void main(String[] args) {Gen<String> a=new Gen<String>();a.add("aaa");System.out.println(a.select(0));}}class Gen<T> {List<T> l = new ArrayList<T>();public void add(T t){l.add(t);}public T select(int i){return l.get(i);}}为了省事 用list给你包了一个 呵呵。

时间: 2024-11-08 22:29:15

关于java泛型的一个编程的相关文章

问一个Java泛型与类继承的问题

问题描述 问一个Java泛型与类继承的问题 直接上代码了 //DeviceRepository类 public abstract class DeviceRepository<T extends Device> extends DomainRepository<T> //DeviceEventHandler类第一种写法 public abstract class DeviceEventHandler<M extends Device,R extends DeviceRepos

请教一个关于java泛型的语法问题

问题描述 最近编程序的时候遇到一个java泛型的语法问题,不知道应该怎样实现,麻烦各位大牛帮忙解答: 如果父类在类上声明了泛型的话子类可以将泛型类型指定成一个具体类型,比如: class FatherA<T> { public  void test(T t) {      ;} } class ChildA extends FatherA<String>{ @Overridepublic  void test(String t) {//这里的 t 类型是 java.lang.Str

泛型-请教一个JAVA的基础问题

问题描述 请教一个JAVA的基础问题 有如下的一个接口,叫做:GenericDao,有几点不理解: 1.虽然知道E,K,V都是泛型,但是一直不太理解有什么用,比如:>这段代码有什么用,实现什么功能?如果不写会有什么影响? 2.为什么在类的定义中还可以extends,一般不都是 class A1 extends A,这么写么?为什么可以class A1 package com.patsnap.common.bean; import com.patsnap.common.entity.DBVersi

java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题

参考:java核心技术 一.Java泛型的实现方法:类型擦除 前面已经说了,Java的泛型是伪泛型.为什么说Java的泛型是伪泛型呢?因为,在编译期间,所有的泛型信息都会被擦除掉.正确理解泛型概念的首要前提是理解类型擦出(type erasure). Java中的泛型基本上都是在编译器这个层次来实现的.在生成的Java字节码中是不包含泛型中的类型信息的.使用泛型的时候加上的类型参数,会在编译器在编译的时候去掉.这个过程就称为类型擦除. 如在代码中定义的List<object>和List<

java泛型type体系整理

一直对jdk的ref使用比较模糊,早上花了点时间简单的整理了下,也帮助自己理解一下泛型的一些处理.   java中class,method,field的继承体系     java中所有对象的类型定义类Type   说明:    Type :  Type is the common superinterface for all types in the Java programming language. These include raw types, parameterized types, 

浅谈Java 8的函数式编程

关于"Java 8为Java带来了函数式编程"已经有了很多讨论,但这句话的真正意义是什么? 本文将讨论函数式,它对一种语言或编程方式意味着什么.在回答"Java 8的函数式编程怎么样"之前,我们先看看Java的演变,特别是它的类型系统,我们将看到Java 8的新特性,特别是Lambda表达式如何改变Java的风景,并提供函数式编程风格的主要优势. 函数式编程语言是什么? 函数式编程语言的核心是它以处理数据的方式处理代码.这意味着函数应该是第一等级(First-cla

Eclipse V3.1中的Java泛型支持

Java 中的泛型 几乎从第一个版本开始,Java 技术的创立者们就已经开始讨论对该语言添加 泛型支持.C++ 通过标准模板库对泛型进行支持,但是由于缺少所有其他类(嵌 入在 Java 语言中的Object 类中)的一个统一父类,泛型的实现也受到阻碍.Java编程语言的泛型支持是其历史上最重大的语法变化.由于某些显而易见的原因,工具支持比其他 SDK 升级的步法要慢得多.尽管如此,现在 Eclipse V3.1 已经对这些语言的新特性有了出色的支持.本文重点介绍其中的一些新特 性. Java 5

通过Java泛型实现数组排序和搜索的通用方法

下面讨论的是数组的排序和搜索功能,而一个通用方法则是实现Comparable接口的方法,这个方法需要通过java泛型来实现.下面便逐步讲解为何,以及如何通过Java泛型实现此类的通用方法. 如何在java类中一些通用方法,特别是一些静态的工具方法? 比如,数组Arrays的sort.search等? 1. 整数数组的顺序收缩 public static int seqSearch(int[] arr, int first, int last, int target) { for (int i =

java泛型上下限

v前言: java的泛型上下限不是很好理解,尤其像我这种菜鸡.反反复复看了好几遍了...,真是... v一.简单的继承体系 class Person{} class Student extends Person{} class Worker extends Person{} v二.泛型上限(extends 关键字) public static void upperBound(List<? extends Person> list, Person p){ //正确,因为null没有类型信息 li