我有一个非常简单的课,比如说
public class myInt {
private Integer myint; // public?
public myInt(Integer i) {
this.myint = i;
}
public Integer getmyInt() {
return myint;
}
}
现在我需要使用一些作为参数ArrayList<Integer>
的函数。是否有可能使我的类 castable 成为Integer?
答案 0 :(得分:2)
在Java中,当你说&#34;原始类型&#34;你特别提到某些类型的变量(例如int
,char
),所以在这种情况下,如果你想要一个字面答案,那么答案是&#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