「java克隆一个泛型」JAVA 泛型

博主:adminadmin 2022-11-30 12:39:05 59

今天给各位分享java克隆一个泛型的知识,其中也会对JAVA 泛型进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA一个泛型数组List 怎么复制某几行到另外一个List?

你明白一个单纯的“?”是什么意思吗?它代表的是任意类型。既可以是有继承关系的,也可以是八竿子都打不到的。比如你想写的大约是这样的class gen{pulbic ? extends Numbervoid listMove(List ?list1 , List? list2,Int i){list2.add(list1.get(i));}}但是请注意这里?号代表的是任意一个Number的子类,这意味着你如果传入像list1 是ListLong而list2是ListDouble这样的同级泛型参数,就像这样来调用这个函数list1 = new ListLong ();list2 = new ListDouble();listMove(list1, list2, i);这个函数的目的显然是把list1 的第i个元素放入list2中,但是请注意list1和list2是不相同,也没有继承关系的同级别类型,你正试图把一个Long 类型放入一个只能够放置Double类型的List 中,如果java允许你这样来操作元素,那不是和泛型本身希望提高类型安全的目的背道而驰了吗?这个问题里你需要注意的是,想要传递的类型参数是有关系的,lIst1的?号应该是list2的本身或者子类才对,你应该这样定义你的方法,你需要对这两个?号有一定的约束这样来定义public T extends Object/*这里可以是你自己对类型的约束,我都是约束成了Object的*/void listMove(List? extends T list1//有条件的约束,?应该是T的子类, ListT list2 ,int i){

list2.add(list1.get(i));

}

Java编写一个泛型类,提供一个方法, 要求:给定任意的类型数组,将第0位和最大位置去掉,将数组返回?

package com.xxt.lyh;

import java.util.Arrays;

/**

* 测试类

*

* @author 时间在流

*

* @param TEV 泛型

*/

public class TestTEV {

// 这纯粹是为了用泛型而用,不用都更好。

/**

* 给定一个泛型数组,将数组中的第一个成员和最后一个成员去掉返回。

*

* @param srcArray 原数组,泛型

* @param destArray 存放结果的数组,泛型 如果你会反射的话,说不定可以不用这个参数 但我不知道你会不会,就写简单点吧

* @return 返回结果 其实这个都是多余的,但是为了满足你题目中的要求,我就再把第二个参数返回了

*/

public TEV[] trim(TEV[] srcArray, TEV[] destArray) {

try {

// 如果原数组的成员2,则将原数组除第一个成员和最后一个成员外的所有成员拷贝到目标数组,否则直接返回。

if (srcArray.length 2) {

System.arraycopy(srcArray, 1, destArray, 0, srcArray.length - 2);

}

} catch (Exception e) {

System.out.println("目标数组长度不够");

}

return destArray;

}

public static void main(String[] args) {

// 创建原数组。

String[] srcArray = { "a", "b", "c", "d" };

// 创建目标数组。

String[] destArray = new String[2];

// 创建测试类进行测试。

Test test = new TestString();

String[] result = (String[]) test.trim(srcArray, destArray);

System.out.println(Arrays.toString(result));

}

}

java中如何定义一个泛型函数?

泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。

定义泛型方法语法格式如下:

定义泛型方法时,必须在返回值前边加一个T,来声明这是一个泛型方法,持有一个泛型T,然后才可以用泛型T作为方法的返回值。

ClassT的作用就是指明泛型的具体类型,而ClassT类型的变量c,可以用来创建泛型类的对象。

java克隆一个泛型的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA 泛型、java克隆一个泛型的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。