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 = 16After 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 = 16After ensureCapacity method capacity = 44
参考资料:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuilder.html#ensureCapacity(int)
