首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果是的话,我可以在java中不使用包装器类的情况下将两个字符串值相加吗?

如果是的话,我可以在java中不使用包装器类的情况下将两个字符串值相加吗?
EN

Stack Overflow用户
提问于 2015-04-04 10:00:54
回答 2查看 232关注 0票数 1
代码语言:javascript
复制
String result = "";
try{
 int value = Integer.parseInt(a)+Integer.parseInt(b);
 result = ""+value;
}catch(NumberFormatException ex){
 //either a or b is not a number
 result = "Invalid input";
}
MyStringSum.show(null,a+b);

我使用的是包装类,但是我想要将两个字符串值相加而不使用

包装类,我能做这个吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-04 10:10:14

您不应该担心实现的效率,因为它没有使用任何包装对象。

java.lang.Integer扮演几个角色:

  1. 它包含几个重要的常量,如MIN_VALUEMAX_VALUE
  2. 通过提供用于解析和操作原始int的类方法,它充当了一个辅助类,用于处理原始and,以及
  3. 它的实例充当原始intObject包装器,并为其提供实例方法。

因为您只使用parse(...),这是一个类方法,所以您的代码使用类的容量为#2,忽略了#1和#3。换句话说,在它的“int包装器”容量中没有使用Integer

票数 2
EN

Stack Overflow用户

发布于 2015-04-04 11:13:52

试试exp4j。示例(来自链接):

代码语言:javascript
复制
Expression e = new ExpressionBuilder("3 * sin(y) - 2 / (x - 2)")
        .variables("x", "y")
        .build()
        .setVariable("x", 2.3)
        .setVariable("y", 3.14);
double result = e.evaluate();

另一个选择是Javaluator。例如,请参阅链接。

还有EvalX。参见下面的示例(从链接中):

代码语言:javascript
复制
Expression expression = new Expression("1+1/3");
result = expression.eval():
expression.setPrecision(2);
result = expression.eval():

我希望这能帮到你!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29445073

复制
相关文章

相似问题

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