我有一些类似以下的东西:
int i = 3;
String someNum = "123";
我想将i
“0”附加到someNum
字符串。它有没有什么方法可以像Python那样乘以一个字符串来重复它呢?
所以我可以直接说:
someNum = sumNum + ("0" * 3);
或者类似的东西?
在这种情况下,我的最终结果是:
"123000“。
发布于 2010-02-13 06:19:21
不能,但在Scala中可以!(然后编译它并使用任何Java实现运行它!)
现在,如果您想在java中使用简单的方法,请使用Apache commons-lang包。假设你使用的是maven,将这个依赖添加到你的pom.xml中:
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
然后使用StringUtils.repeat,如下所示:
import org.apache.commons.lang.StringUtils
...
someNum = sumNum + StringUtils.repeat("0", 3);
发布于 2011-06-18 00:58:24
使用Strings#repeat()
,Google Guava提供了另一种方法来实现这一点
String repeated = Strings.repeat("pete and re", 42);
发布于 2010-02-13 06:24:26
我想到了两种方式:
int i = 3;
String someNum = "123";
// Way 1:
char[] zeroes1 = new char[i];
Arrays.fill(zeroes1, '0');
String newNum1 = someNum + new String(zeroes1);
System.out.println(newNum1); // 123000
// Way 2:
String zeroes2 = String.format("%0" + i + "d", 0);
String newNum2 = someNum + zeroes2;
System.out.println(newNum2); // 123000
方法2可以缩写为:
someNum += String.format("%0" + i + "d", 0);
System.out.println(someNum); // 123000
有关String#format()
的更多信息,请访问its API doc和java.util.Formatter
。
https://stackoverflow.com/questions/2255500
复制相似问题