我是一个Java新手.我试图弄清楚一个数字是否是一个像这样的东西:
if ( typeof ( items.elementAt(1) )== Double ) {
sum.add( i, items.elementAt(1));
}
Run Code Online (Sandbox Code Playgroud)
如果有人能告诉我如何重新排列语法以使其正常工作,我将不胜感激.
小智 144
试试这个:
if (items.elementAt(1) instanceof Double) {
sum.add( i, items.elementAt(1));
}
Run Code Online (Sandbox Code Playgroud)
Rob*_*Fox 12
由于这是Google的第一个问题,因此我还将在typeof此处添加JavaScript样式替代项:
myObject.getClass().getName() // String
Run Code Online (Sandbox Code Playgroud)
反射速度较慢,但适用于您想要知道是狗类型还是猫类而不是动物实例的情况.所以你要做的事情如下:
if(null != items.elementAt(1) && items.elementAt(1).getClass().toString().equals("Cat"))
{
//do whatever with cat.. not any other instance of animal.. eg. hideClaws();
}
Run Code Online (Sandbox Code Playgroud)
不是说上面的答案不起作用,除了空检查部分是必要的.
回答这个问题的另一种方法是使用泛型,你可以保证将Double作为任何项目元素.
List<Double> items = new ArrayList<Double>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
163068 次 |
| 最近记录: |