今天看书看到组合与继承了,累死了,看不明白!
由其是下面的这段程序:
public class Intset{
    private Set<Integer> set;
    public Intset(Set<Integer> set){
        this.set=set;
    }
    public boolean add(int a){
        return set.add(Integer.valueOf a);
    }
    public boolean remove(int a){
        return set.remove(Integer.valueOf a);
    }
}
我自己分析如下:
第一行:定义一个Intset类
第二行看不明白,好像是把定义一个Set类型的变量set给Integer化吧!但强制类型转换不是用“()”吗,这里怎么用“<>”。
第三行是与这个类同名的构造方法,并给出所需参数,但这里我不知道参数是什么类型。
第四行说不明白,但能理解,它和this.string=string是一样的功能。
第六行是定义一个布尔型的实现方法add其参数是int类型。
第七行是反回什么,这个地方不明白,还有就是Integer.valueOf这是什么意思?
上面都明白了,下面也就明白了!希望各位网友给予详细说明!谢谢!

解决方案 »

  1.   

    第二行是泛型,表示set存储的是Integer类型的数据
    第四行是一种赋值方式,this.set表示它是类的成员变量, 后面set是参数
    第七行尅看看这个函数的返回值是什么不就知道了,boolean型数据,Integer.valueOf时将int型a用Integer包装一下
    下面这个方法跟上面这个差不多就是移除set中的数据
    不过那个Integer.valueOf(a)应该是这么写的
      

  2.   

    Set<Integer> set
    上面的意思是设置一个Set型的变量叫做set,<Integer>的意思是这个Set中的元素必须是Integer类型的。(不过这种语法在现在的jdk中似乎不适用了)
    public boolean add(int a){
            return set.add(Integer.valueOf(a));
        } 
    以上,Integer.valueOf(a)方法是把int型的a转换成Integer类型,因为Set类的add方法中的参数必须是Object类型,而int是java基本类型不继承Object,所以就要转换成继承于Object的引用类型Integer。这样才能使用set.add方法。
      

  3.   

     private Set <Integer> set;定义一个Set类的对象  里面只能放Integer类型 public Intset(Set <Integer> set){ 
            this.set=set; 
        } 
     Intset类的构造函数   构造函数的参数要和Intset类的属性 private Set <Integer> set相等  public boolean add(int a){ 
            return set.add(Integer.valueOf a); 
        } 
     add方法  把参数int a 当做Integer对象 放到set 里 成功返回true  这里写错了吧? 是不是应该Integer.valueOf (a)这样?
    remove方法类似 只不过是删除掉一个Integer对象
      

  4.   


    第二行是泛型,表示set存储的是Integer类型的数据 
    第四行是一种赋值方式,this.set表示它是类的成员变量, 后面set是参数 
     return set.remove(Integer.valueOf a); 返回布尔值  如果 set 中存在指定的元素,则将其移除(可选操作)。
      

  5.   

    public class Intset{ 
        private Set <Integer> set; //Set<Integer> set表示泛型,说明set中只能存储Integer对象或者它的子类对象    public Intset(Set <Integer> set){ 
         this.set=set; 
        } 
        public boolean add(int a){ 
            return set.add(Integer.valueOf a); //应该写成Integer.valueOf(a)  把a转换成Integer类型,set.add()向set中插入一个值,如果插入成功返回true否则返回false.所以这个方法的返回类型为boolean
        } 
        public boolean remove(int a){ 
            return set.remove(Integer.valueOf a); //一样的道理
        } 
      

  6.   

    Set <Integer> set 
    上面的意思是设置一个Set型的变量叫做set, <Integer>的意思是这个Set中的元素必须是Integer类型的。(这是在JDK1.5版本之后才出现的) 
    public boolean add(int a){ 
            return set.add(Integer.valueOf(a)); 
        } 
    以上,Integer.valueOf(a)方法是把int型的a转换成Integer类型,因为Set类的add方法中的参数必须是Object类型,而int是java基本类型不继承Object,所以就要转换成继承于Object的引用类型Integer。这样才能使用set.add方法。