在我的Java程序中,我想存储一个原始值列表.我可以这样做:
int x = 0;
double timestamp = 123.1d;
List<Object> data = new ArrayList<Object>();
data.add(x);
data.add(timestamp);
Run Code Online (Sandbox Code Playgroud)
但问题是我不确切知道我在列表中存储了哪种对象.那么还有更好的方法吗?
嗯,Double,Integer,Long都属于Number-class.那么一个
List<Number>
Run Code Online (Sandbox Code Playgroud)
可能适合.它正是它的原因 - 一些List未指定的子类型.由于自动装箱,您应该只能添加原语,但更好的做法是使用Wrapper类.
该Number-class提供方法来获得的不同表述Number,例如doubleValue()以.因此,您可以使用此方法转换List<Number>为(作为示例)中Double的所有值.有关更多参考,请参阅Number的Oracle文档.
| 归档时间: |
|
| 查看次数: |
269 次 |
| 最近记录: |