package Test_01 ;
import java.util.TreeSet;
import java.util.Date;
class Z implements Comparable
{
int age ;
public Z(int age)
{
this.age = age ;
}
public boolean equals(Object obj)
{
return true ;
}
public int compareTo(Object obj)
{
return 1 ;
}
}
public class Test
{
public static void main(String[] args)
{
TreeSet set = new TreeSet() ;
Z z1 = new Z(6) ;
set.add(z1) ;
System.out.println(set.add(z1));
System.out.println(set);
System.out.println(set.first().getClass()); //这里输出说set.first()的类型是“class Test_01.Z”类型
( (set.first()) ).age = 9 ; //但是这里去掉“(Z)”就会出错,这是为什么?
System.out.println(( (Z) (set.last()) ).age);
}
}
java类类型?
答案:3 悬赏:50 手机版
解决时间 2021-03-16 03:13
- 提问者网友:最美的风景
- 2021-03-15 23:27
最佳答案
- 五星知识达人网友:迟山
- 2021-03-16 00:07
1. 因为你的set 集合里放的类型是 class Z ,getClass()之后,返回Test_01包下的Z这个类。
2. age属性是Z类的,set里面的放的是Z类,所以你需要获取之后进行强转,才能获取里面的属性。
2. age属性是Z类的,set里面的放的是Z类,所以你需要获取之后进行强转,才能获取里面的属性。
全部回答
- 1楼网友:舍身薄凉客
- 2021-03-16 01:19
java类的类型有无数种,比如
class test{}
这个test就是一个java类类型
并且它们都是继承object类(所有类的父类)
除了基本类型以外,其他的都是java类类型
- 2楼网友:十鸦
- 2021-03-16 00:45
因为Set是一个泛型集合
你这样定义set集合就可以不强转了
TreeSet set = new TreeSet() ;
但是这样的话set里面就只能放Z类型的数据
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯