Java StringBuilder ensureCapacity()示例
StringBuilder类的 ensureCapacity(int minimumCapacity) 方法帮助我们确保容量至少等于作为参数传递给该方法的最小容量。
- 如果StringBuilder的当前容量小于参数minimumCapacity,那么就会分配一个新的内部数组,其容量更大。
- 如果minimumCapacity参数大于旧容量的两倍,再加上2,那么新容量等于minimumCapacity,否则新容量等于旧容量的两倍,再加上2。
- 如果作为参数传递的minimumCapacity参数不是正数,这个方法不采取任何行动。
语法
public void ensureCapacity(int minimumCapacity)
参数: 该方法接受一个参数 minimumCapacity ,代表你想要的最小容量。
返回值: 该方法不返回任何东西。
下面的程序演示了StringBuilder类的ensureCapacity()方法。
例1:
在这个程序中,minimumCapacity参数等于18,小于旧容量的两倍,加上2等于34,那么新容量就等于34。
// Java program to demonstrate
// the ensureCapacity() Method.
class GFG {
public static void main(String[] args)
{
// create a StringBuilder object
StringBuilder str = new StringBuilder();
// print string capacity
System.out.println("Before ensureCapacity "
+ "method capacity = "
+ str.capacity());
// apply ensureCapacity()
str.ensureCapacity(18);
// print string capacity
System.out.println("After ensureCapacity"
+ " method capacity = "
+ str.capacity());
}
}
输出:
Before ensureCapacity method capacity = 16
After ensureCapacity method capacity = 34
例2:
在这个程序中,最小容量参数等于44,大于旧容量的两倍,加上2等于34,那么新容量等于34。
// Java program to demonstrate
// the ensureCapacity() Method.
class GFG {
public static void main(String[] args)
{
// create a StringBuilder object
StringBuilder str = new StringBuilder();
// print string capacity
System.out.println("Before ensureCapacity"
+ " method capacity = "
+ str.capacity());
// apply ensureCapacity()
str.ensureCapacity(44);
// print string capacity
System.out.println("After ensureCapacity"
+ " method capacity = "
+ str.capacity());
}
}
输出:
Before ensureCapacity method capacity = 16
After ensureCapacity method capacity = 44
参考资料:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuilder.html#ensureCapacity(int)