本文目录一览:
- 1、java中泛型的使用
- 2、JAVA中的泛型用法一种: 返回值用法。
- 3、java中如何得到泛型参数的class?
- 4、java怎么传递泛型参数
- 5、北大青鸟java培训:JAVA泛型浅谈?
- 6、Java 泛型方法的入参参数如:id,如何id限制为String或者Number?
java中泛型的使用
一般使用在集合上,比如现在将一个字符串类型放在集合里面,这时候,放入集合的字符会失去其本身的类型,只能是object类型,比如想要对这这个值进行转换, 很容易出现类型转换错误。可以使用泛型解决这个问题。
JAVA中的泛型用法一种: 返回值用法。
1、对于泛型方法来说,是可以接收不同类型的参数,比如下图,使用泛型来操作List集合,然后向List中添加一条数据,看是否可以添加成功,创建泛型方法如图所示。
2、然后在写一个main方法来测试一下这个泛型方法,先向集合中添加一条String类型的数据,打印List集合中的元素,如图所示。
3、上面是往List集合中添加了一个String类型的数据,下图往List集合中添加一条Integer类型的数据并打印,当然也可以自己创建对象进行添加。
4、泛型也是可以限制要使用的参数类型的,比如上面,list集合中,只想加入数字类型的数据,当然也是可以的,只要让类中的T继承Number就行了,如图所示。
5、下面在测试一下,向集合中添加一个Long类型的数据并打印,如图所示。
6、最后输出就完成了。
java中如何得到泛型参数的class?
泛型的目的就是为了避免强制类型转换,所以直接取出来就是object的类型了。
public
class
classtest
{
public
static
void
main(string[]
args)
{
list
liststr
=
new
arraylist
();
liststr.add("aaa");
liststr.add("bbb");
system.out.println(liststr.get(0));
}
}
你想要的应该是这个吧,只要取出来就是你定义类型的object了,在这个例子中是string。如果你给它定义的是integer类型的泛型的话,取出来就是integer了。
java怎么传递泛型参数
package test;
import java.util.ArrayList;
import java.util.List;
public class Node extends IModel{
public static void main(String[] args) throws InstantiationException, IllegalAccessException {
System.out.println(new Node().Nodetest(Node.class));
}
public T extends IModel ListT test(ClassT clazz) throws InstantiationException, IllegalAccessException{
ListT list= new ArrayListT();
T obj = clazz.newInstance();
list.add(obj);
System.out.println(list.get(0).getClass());
return list;
}
}
class IModel{
}
output:
class test.Node
[test.Node@1fb8ee3]
北大青鸟java培训:JAVA泛型浅谈?
1.概述 在引入泛型之前,Java类型分为原始类型、复杂类型,其中复杂类型分为数组和类。
java课程发现引入范型后,一个复杂类型就可以在细分成更多的类型。
例如原先的类型List,现在在细分成ListObject,ListString等更多的类型。
注意,现在ListObject,ListString是两种不同的类型,他们之间没有继承关系,即使String继承了Object。
2.定义使用 类型参数的命名风格为: 推荐你用简练的名字作为形式类型参数的名字(如果可能,单个字符)。
最好避免小写字母,这使它和其他的普通的形式参数很容易被区分开来。
使用T代表类型,无论何时都没有比这更具体的类型来区分它。
这经常见于泛型方法。
如果有多个类型参数,我们 可能使用字母表中T的临近的字母,比如S。
如果一个泛型函数在一个泛型类里面出现,最好避免在方法的类型参数和类的类型参数中使用同样的名字来避免混 淆。
对内部类也是同样。
2.1定义带类型参数的类 在定义带类型参数的类时,在紧跟类命之后的内,指定一个或多个类型参数的名字,同时也可以对类型参数的取值范围进行限定,多个类型参数之间用,号分隔。
定义完类型参数后,可以在定义位置之后的类的几乎任意地方(静态块,静态属性,静态方法除外)使用类型参数,就像使用普通的类型一样。
注意,父类定义的类型参数不能被子类继承。
2.2定义待类型参数方法 在定义带类型参数的方法时,在紧跟可见范围修饰(例如public)之后的内,指定一个或多个类型参数的名字,同时也可以对类型参数的取值范围进行限定,多个类型参数之间用,号分隔。
定义完类型参数后,可以在定义位置之后的方法的任意地方使用类型参数,就像使用普通的类型一样。
Java 泛型方法的入参参数如:id,如何id限制为String或者Number?
首先,你要理解为什么使用集合框架:如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象—可以使用java集合框架。
其次,稍微理解一下泛型的机制:将对象的类型作为参数,指定到其它类或者方法上,从而保证类型转换的安全性和稳定性;本质是参数化类型;创建的集合只能存放中写的类型元素,不能存放别的类型的元素,因此取出元素时也就不需要强转了;泛型中不能存放基本数据类型等。
通俗的说,就是保证存入集合中的数据的安全性,例如,本来集合中可以存储各种数据类型的数据有int,string,char等等,只是存进去之后就自动变成Object类型的啦。现在用泛型的话,就是一种约束,即只能存放我们规定的数据类型的元素,如:
ArrayListString students = new ArrayListString();
现在在集合中只能存放String类型的参数了,此时你要传入的参数id就只能是String类型的啦。
ArrayListStudentstudents = new ArrayListStudent();
现在在集合中只能存放Studeng类型的参数了,存放其他数据类型时,就会出错,所以说保证了数据的安全性。
基本就这么多啦,可以多交流,相互帮助,希望可以帮到你呀!!!