允许将类作为Java中的另一个类进行转换

时间:2015-12-08 06:39:42

标签: java

我有一个非常简单的课,比如说

public class myInt {
    private Integer myint; // public?

    public myInt(Integer i) {
        this.myint = i;
    }

    public Integer getmyInt() {
        return myint;
    }
}

现在我需要使用一些作为参数ArrayList<Integer>的函数。是否有可能使我的类 castable 成为Integer?

2 个答案:

答案 0 :(得分:2)

在Java中,当你说&#34;原始类型&#34;你特别提到某些类型的变量(例如intchar),所以在这种情况下,如果你想要一个字面答案,那么答案是&#34; no&#34;你可以&将myInt转换为Integer(顺便说一下,Integer不是原始类型,而int是<)

但是,如果要实现您所声明的内容,可以创建一个空的ArrayList<Integer>,然后查询每个myInt个对象并调用myInt.getmyInt()(因为它返回一个整数)并添加他们到你的ArrayList<Integer>

例如,像这样:

ArrayList<Integer> myNumbersArray= new ArrayList<>(); 
myInt myNumber = new myInt(4);
myNumbers.add(myNumber.getmyInt());

虽然我不确定为什么你需要这样做,因为你基本上是拿一个整数,把它包装在另一个对象然后展开它,所以你也可以避免中间步骤,除非你是出于使用该中间结构的其他原因。

答案 1 :(得分:-3)

如果需要支持强制转换,那么类之间应该存在关系(超级/子级)。即使是相同的,在转换时也可能存在运行时错误。

这将是一个有用的链接

http://www.wideskills.com/java-tutorial/java-object-typecasting