java 中 Biginteger 的初始化
Initialization of Biginteger in java
不明白Java中BigInteger
下面初始化的"" + 1
的意思:
BigInteger fact = new BigInteger("" + 1);
这是一种将整数转换为字符串的惰性方法。
""+1
是一个空字符串和 int 1 的串联,它附加到空字符串,导致字符串 "1"
.
你也可以只写
BigInteger fact = new BigInteger("1");
如文档中所写:
https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html
BigInteger 有一个接受 String
的构造函数。当您将表达式声明为 "" + 1
时,该类型将从左到右评估为第一个类型,因此它将是一个字符串。
字面意思和new BigInteger("1")
一样
除了欺骗 class 的学生或求职面试的人之外,为什么有人会这样做 :)
这只是一种将 int 转换为字符串的惰性方法。当 int 是一个变量时,它可能更有意义。例如
public void doStuff(int i) {
BigInteger fact = new BigInteger("" + i) ;
...
}
正如其他人指出的那样,还有其他方法可以实现这一点,但在这种情况下(当 int 是一个变量时)它可能是最少的字符
不明白Java中BigInteger
下面初始化的"" + 1
的意思:
BigInteger fact = new BigInteger("" + 1);
这是一种将整数转换为字符串的惰性方法。
""+1
是一个空字符串和 int 1 的串联,它附加到空字符串,导致字符串 "1"
.
你也可以只写
BigInteger fact = new BigInteger("1");
如文档中所写: https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html
BigInteger 有一个接受 String
的构造函数。当您将表达式声明为 "" + 1
时,该类型将从左到右评估为第一个类型,因此它将是一个字符串。
字面意思和new BigInteger("1")
除了欺骗 class 的学生或求职面试的人之外,为什么有人会这样做 :)
这只是一种将 int 转换为字符串的惰性方法。当 int 是一个变量时,它可能更有意义。例如
public void doStuff(int i) {
BigInteger fact = new BigInteger("" + i) ;
...
}
正如其他人指出的那样,还有其他方法可以实现这一点,但在这种情况下(当 int 是一个变量时)它可能是最少的字符