求解:在Java中利用keyset存取泛型

求解:在Java中利用keyset存取泛型,第1张

Map类中有keySet()方法,取得Map类中所有的key,举个例子:

Map<String,String> f = new HashMap<String,String>();

Set<String> keys = fkeySet();

Map类是一个key对应一个value的关系,Map<key,value>,其中的key,value都是属于泛型,可以是任意类型,我这个例子用的都是String 类型

我可以将值放入Map类的实例对象f ,如 fset("name","杭州");fset("city","浙江");

再通过Set<String> keys = fkeySet(); 就可以将f中的key值(name,city)放入到集合Set的对象keys中去

如果想取得keys的值,进行迭代即可:

Iterator<String> iters = keysiterator();

while(itershasNext()){

String str = itersnext(); //这里就可以得到name和city了

}

package test;

class A<T>{

A(T t){

Class<> var = tgetClass();

Systemoutprintln(var);

}

}

class B extends A<Integer>{

B(Integer t) {

super(t);

}

}

public class XL{

XL(){

B b = new B(5);

Systemoutprintln(b); }

public static void main(String[] args) {

new XL();

}

}

class javalangInteger

感觉没这么玩的吧?既然是泛类型,你的实现中就不应该跟类型绑定

不然还不如不使用范类型。使用泛类型本意上就是为了与类型脱离

如果只是几个可预知类型的话,还硬要使用泛类型,可以考虑在父类型中

if(t instanceof T1){

}else if(t instanceof T2){

}else

不过这么做的话,你可得考虑清楚instance是啥意思,在这里栽跟头也是常见的

你这个需求在java里面是用

反射机制

实现的。

在C++里面,如果需要达到这种目的,建议你给每个类都加上一个方法,原型如下:

int

GetClassName

();

即可达到获取类型的目的。

aaget( 你的索引 )getClass() 实际上,这个就相当于MainFormListclass

这样就获取到了你所get出来的元素的 泛型类型 了,

大多是反射的时候在需要获取。。。

希望可以帮助到你

你好,很高兴回答你的问题。

首先list中保存的对象对应的类要实现了comparable接口,或者是要提供一个比较器。这样才能对集合中的对象进行比较大小。

然后可以做循环比较,取最大的对象了。

如果有帮助到你,请点击采纳。

泛型的目的就是为了避免强制类型转换,所以直接取出来就是object的类型了。

public

class

classtest

{

public

static

void

main(string[]

args)

{

list

liststr

=

new

arraylist

();

liststradd("aaa");

liststradd("bbb");

systemoutprintln(liststrget(0));

}

}

你想要的应该是这个吧,只要取出来就是你定义类型的object了,在这个例子中是string。如果你给它定义的是integer类型的泛型的话,取出来就是integer了。

泛型的目的就是为了避免强制类型转换,所以直接取出来就是Object的类型了。

public class ClassTest {

public static void main(String[] args) {

List<String> listStr = new ArrayList<String>();

listStradd("AAA");

listStradd("BBB");

Systemoutprintln(listStrget(0));

}

}

你想要的应该是这个吧,只要取出来就是你定义类型的Object了,在这个例子中是String。如果你给它定义的是Integer类型的泛型的话,取出来就是Integer了。

以上就是关于求解:在Java中利用keyset存取泛型全部的内容,包括:求解:在Java中利用keyset存取泛型、如何获取java类泛型的声明,需要java反射知识,知道的进来看看吧、如何 获得 泛型 集合 指定的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10160093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存