Skip to main content

Java Exception Handling MCQ Test

  Loading…

StringBuilder Class in Java

 StringBuilder Class in Java

The `StringBuilder` class in Java represents a mutable sequence of characters. Similar to `StringBuffer`, `StringBuilder` allows for the modification of its content without creating a new object. However, unlike `StringBuffer`, `StringBuilder` is not synchronized, making it more efficient in situations where thread safety is not a concern.


Key Features:


1.Mutability:

   - `StringBuilder` objects are mutable, allowing for the modification of content after creation.


2. Non-Synchronization:

   - Unlike `StringBuffer`, `StringBuilder` is not synchronized. This lack of synchronization improves performance but means it is not thread-safe.


3. Performance Considerations:

   - If thread safety is not a requirement, `StringBuilder` is generally preferred over `StringBuffer` due to its higher performance.


Common Methods:

Here are some commonly used methods of the `StringBuilder` class:


 1. Constructor:


-`StringBuilder()`

  - Creates an empty `StringBuilder` with the default initial capacity (16 characters).


  • StringBuilder builder = new StringBuilder();



- `StringBuilder(int capacity)`

  - Creates an empty `StringBuilder` with the specified initial capacity.


  • StringBuilder builderWithCapacity = new StringBuilder(30);


 2. Appending Content:

- `append(String str)`

  - Appends the specified string to the end of the `StringBuilder`.


builder.append("Hello");

builder.append(" World");


 3. Inserting Content:


- `insert(int offset, String str)`

  - Inserts the specified string at the specified offset.


  • builder.insert(5, " Java");



4. Deleting Content:


- `delete(int start, int end)`

  - Deletes the characters between the specified `start` (inclusive) and `end` (exclusive) indices.


builder.delete(6, 11);


5. Reversing Content:


- `reverse()`

  - Reverses the characters in the `StringBuilder`.


builder.reverse();


6. Capacity Management:


- `capacity()`

  - Returns the current capacity of the `StringBuilder`.


int capacity = builder.capacity();


- `ensureCapacity(int minCapacity)`

  - Ensures that the capacity of the `StringBuilder` is at least equal to the specified minimum capacity.



builder.ensureCapacity(50);


7. Converting to String:

- `toString()`

  - Converts the `StringBuilder` to a `String`.


String result = builder.toString();


Example Usage:


// Creating a StringBuilder

StringBuilder builder = new StringBuilder();


// Appending content

builder.append("Hello");

builder.append(" World");


// Inserting content

builder.insert(5, " Java");


// Deleting content

builder.delete(6, 11);


// Reversing content

builder.reverse();


// Converting to String

String result = builder.toString();


The `StringBuilder` class provides a non-synchronized alternative to `StringBuffer` for situations where thread safety is not a concern, offering better performance in such scenarios.

Comments

Popular posts from this blog

Passing and Returning Objects in Java Methods

Passing and Returning Objects in Java Methods In Java, objects can be passed as parameters to methods and returned from methods just like other primitive data types. This allows for flexibility and the manipulation of object state within methods. Let's explore how passing and returning objects work in Java. Passing Objects as Parameters When you pass an object as a parameter to a method, you are essentially passing a reference to that object. This means that changes made to the object inside the method will affect the original object outside the method.  Example: class Car {     String model;     Car(String model) {         this.model = model;     } } public class CarProcessor {     // Method to modify the Car object     static void modifyCar(Car car, String newModel) {         car.model = newModel;     }     public static void main(String[] args) {       ...

Why is String[] args necessary in main() method in Java?

  Why is String[] args necessary in main() method in Java? In Java, the main method serves as the entry point for the program. The correct syntax for the main method is: public static void main (String[] args) { System.out.println( "Hello, Java!" ); } 🔹 Breaking it down: public → Accessible from anywhere. static → No need to create an object of the class to run it. void → No return value. main → Special method recognized by the JVM as the starting point. String[] args → Stores command-line arguments (optional but required by JVM). Why Can't We Skip String[] args ? JVM looks for main(String[] args) When you run a Java program, the JVM searches for the main method with exactly this signature : public static void main (String[] args) If you change or remove String[] args , the JVM cannot find the correct main() method and throws a runtime error (NoSuchMethodError). Java Specification Requires It The Java Language Specification (JLS) defines that main...