【发布时间】:2016-10-30 08:18:02
【问题描述】:
如何生成给定大小的字符串?
int someLimit = GlobalLimits.BULK_SIZE;
我想要 3 个满足以下条件的字符串。
- RandomStr.length
- RandomStr.length = someLimit.length
- RandomStr.length > someLimit.length
这是我迄今为止尝试过的。
private String getLowerRandomString(int upto){
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < upto; i++){
sBuilder.append("A");
}
return sBuilder.toString();
}
我看到的问题是,如果我的限制 = 10000,它仍然循环到 9999,这是不必要的。如果您知道比这更好的方法,请分享。谢谢。
仅供参考: 我正在为一个简单的辅助方法编写单元测试。
public boolean isBulk(String text){
int bulkLimit = ImportToolkit.getSizeLimit();
if (text != null && text.length() > bulkLimit){
return true;
}
return false;
}
所以,我想将不同大小的字符串作为参数传递给这个方法,并想断言它是否给了我预期的结果。
【问题讨论】:
-
为什么你认为循环是不必要的?如果您需要创建一个 10,000 个字符的字符串,那么某处就会有一个循环 - 如果它不在您自己的代码中,那么该循环将在您调用的某个字符串实用程序库中。如果没有循环somewhere,就没有办法让这个“更有效率”。此外,计算机执行此操作的速度非常快,那么您为什么要担心循环呢?是否存在真正的性能问题,或者您只是担心而不知道存在问题?
-
我实际上对这个限制一无所知。它甚至可能超过10k。所以我只是想,是否有比这更好的方法。顺便提一句;这是出于单元测试的目的。 :)
标签: java string random stringbuilder