首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >剥一只叫int的猫皮,改进了

剥一只叫int的猫皮,改进了
EN

Stack Overflow用户
提问于 2014-02-24 19:03:49
回答 1查看 39关注 0票数 0

我有一个表示int的对象。

我需要不同的,奇妙的,模糊的方法,对象可以用于一个int param。

我只能想出5个变体来做这件事。

代码语言:javascript
复制
abstract void take(int i);

void run(){

    Object o = get();

    take( /* VARIATIONS */   );
}

变体:

  1. o //希望万事如意
  2. (Integer)o //铸造
  3. New Integer(o.toString()) // string构造
  4. Integer.valueOf(o) //值
  5. New Integer(String.valueOf(o)) //类似于#3

我知道有很多异常可能会被抛出,这在这里并不重要。

编辑

使用反射,字段的值可以作为对象返回。

然后,我需要在param中对一个方法使用这个值。

法尔码与反射的假设是字段类型总是一个int。

当假设是正确的: 1-5工作。

假设为假时&&字段类型== String:3+5 work,1,2+4失败。

假设为假时&字段类型== ArrayList<Character>:1-5失败。

我需要更多的变体来测试。

这将继续我讨论here的工作。有人回答说,不能增加鲁棒性来对抗所有不同的解析字段类型。但现在,我需要测试和收集结果的变化通过和失败。

我要求不同的方法来产生参数值,而不是1-5的重哈希(例如,g3和5有点类似)。

来自eltabo

  1. 新BigDecimal(o.toString()).intValue()
  2. 新BigInteger(o.toString()).intValue()
  3. 新双(o.toString()).intValue()
  4. 新浮点数(o.toString()).intValue()
  5. Integer.parseInt(o.toString())
  6. javax.swing.text.NumberFormat.getInstance().parse(o.toString()).intValue()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-24 22:27:41

如果我理解你,我会被诅咒的,但如果有帮助的话:

代码语言:javascript
复制
new BigDecimal(o.toString()).intValue()
new BigInteger(o.toString()).intValue()
new Double(o.toString()).intValue()
new Float(o.toString()).intValue()
Integer.parseInt(o.toString())
javax.swing.text.NumberFormat.getInstance().parse(o.toString()).intValue()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21996593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档