簡體   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