繁体   English   中英

在 java 8 或更高版本中实现 while 循环的最佳方法

[英]Best way to implement while loop in java 8 or later

我必须从字符串的开头删除所有斜杠(/)。 所以我写了

while (convertedUrl.startsWith("\\")) 
{
     convertedUrl = convertedUrl.substring(1);
}

上面的代码为每个 substring 创建字符串。 有没有更好的方法在 java 8 或更高版本中编写此代码? 我该怎么做才能记住 memory 利用率和性能。

我猜想:

 int len = str.length();
 int i=0;
 for (; i<len && str.charAt(i) == '\\'; ++i) {
      ;
 }
 return str.substring(i);

我写str而不是convertedUrl因为这应该在它自己的方法中。

这不太可能是性能瓶颈,但原始代码的运行速度可能慢到 O(n^2)(取决于实现)。

你能不能简单地不使用这样的东西来替换一个 go 中的所有“/”

convertedUrl = convertedUrl.replaceAll("\\/","");

我很抱歉最初的,但我认为这会:

convertedUrl = convertedUrl.replaceFirst("^/*","");

或这个:

convertedUrl = convertedUrl.replaceAll("^/*","");

两者都会完成工作! 因为它们替换了所有前导的“/”字符!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM