Java StringBuilder ensureCapacity() method

ensureCapacity(int minCapacity): ensures that the capacity is at least equal to the specified minimum.

 

Syntax:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public void ensureCapacity(int minCapacity)
public void ensureCapacity(int minCapacity)
public void ensureCapacity(int minCapacity)

 

Note:

  • If the current capacity is greater than the argument there will be no change in the current capacity.
  • If the current capacity is less than the argument there will be a change in the current capacity using the below rule.
    newcapacity = (oldcapacity*2) + 2

StringBuilder ensureCapacity() Example

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class TestStringBuilder{
StringBuilder sb = new StringBuilder();
public void ensureCapacityTest(){
//default capacity.
System.out.println(sb.capacity());
sb.append("Hello ");
//current capacity 16.
System.out.println(sb.capacity());
sb.append("www.w3schools.com");
//current capacity (16*2)+2=34 i.e (oldcapacity*2)+2.
System.out.println(sb.capacity());
sb.ensureCapacity(10);
//now no change in capacity because
//minimum is already set to 34.
System.out.println(sb.capacity());
sb.ensureCapacity(50);
//now (34*2)+2 = 70 as 50 is greater than 34.
System.out.println(sb.capacity());
}
}
public class StringBufferEnsureCapacityExample {
public static void main(String args[]){
//creating TestStringBuilder object
TestStringBuilder obj = new TestStringBuilder();
//method call
obj.ensureCapacityTest();
}
}
class TestStringBuilder{ StringBuilder sb = new StringBuilder(); public void ensureCapacityTest(){ //default capacity. System.out.println(sb.capacity()); sb.append("Hello "); //current capacity 16. System.out.println(sb.capacity()); sb.append("www.w3schools.com"); //current capacity (16*2)+2=34 i.e (oldcapacity*2)+2. System.out.println(sb.capacity()); sb.ensureCapacity(10); //now no change in capacity because //minimum is already set to 34. System.out.println(sb.capacity()); sb.ensureCapacity(50); //now (34*2)+2 = 70 as 50 is greater than 34. System.out.println(sb.capacity()); } } public class StringBufferEnsureCapacityExample { public static void main(String args[]){ //creating TestStringBuilder object TestStringBuilder obj = new TestStringBuilder(); //method call obj.ensureCapacityTest(); } }
class TestStringBuilder{
    StringBuilder sb = new StringBuilder();
    
    public void ensureCapacityTest(){
        //default capacity.
        System.out.println(sb.capacity());
        
        sb.append("Hello ");
        //current capacity 16.
        System.out.println(sb.capacity());
        
        sb.append("www.w3schools.com");
        //current capacity (16*2)+2=34 i.e (oldcapacity*2)+2.  
        System.out.println(sb.capacity());
        
        sb.ensureCapacity(10);
        //now no change in capacity because 
                //minimum is already set to 34. 
        System.out.println(sb.capacity());  
          
        sb.ensureCapacity(50);
        //now (34*2)+2 = 70 as 50 is greater than 34.
        System.out.println(sb.capacity());
    }
}

public class StringBufferEnsureCapacityExample {
    public static void main(String args[]){
        //creating TestStringBuilder object
        TestStringBuilder obj = new TestStringBuilder();
        
        //method call
        obj.ensureCapacityTest();
    }
}

Output

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
16
34
34
70
16 34 34 70
16 
34 
34 
70