Essential Java Standard Library Classes and Methods

String Class

Initializing Strings

Strings can be created using literals or constructors.

Using String Literals

String s1 = null;
String s2 = "";
String s3 = "Hello";

Using Constructors

String s4 = new String(); // Empty string
String s5 = new String("World");
char[] letters = {'J', 'a', 'v', 'a'};
String s6 = new String(letters);

Commmon String Operations

Case Conversion and Transformation

String upper = "JAVA";
System.out.println(upper.toLowerCase()); // "java"

String lower = "programming";
System.out.println(lower.toUpperCase()); // "PROGRAMMING"

String text = "sample";
char[] chars = text.toCharArray();
System.out.println(Arrays.toString(chars)); // [s, a, m, p, l, e]

int number = 456;
System.out.println(String.valueOf(number)); // "456"

String Validation

String data = "exampleData123";
System.out.println(data.startsWith("ex")); // true
System.out.println(data.endsWith("123")); // true
System.out.println(data.isEmpty()); // false
System.out.println(data.contains("Data")); // true

String compare = "exampleData123";
System.out.println(data.equals(compare)); // true

Key Comparison Note

String a = "test";
String b = "test";
String c = new String("test");

System.out.println(a.equals(b)); // true
System.out.println(a == b); // true (same literal)
System.out.println(a.equals(c)); // true
System.out.println(a == c); // false (different objects)

Character and Substring Location

String target = "searchTarget123";
System.out.println(target.indexOf('r')); // 2
System.out.println(target.lastIndexOf('r')); // 9
System.out.println(target.charAt(6)); // 'h'
System.out.println(target.length()); // 15

Accessing characters beyond the string length throws StringIndexOutOfBoundsException.

String Manipulation

String original = "apple orange apple";
System.out.println(original.replace("apple", "banana")); // "banana orange banana"

String dateStr = "2023/12/25";
String[] parts = dateStr.split("/");
System.out.println(Arrays.toString(parts)); // [2023, 12, 25]

String source = "HelloWorld";
System.out.println(source.substring(5)); // "World"
System.out.println(source.substring(3, 7)); // "loWo"

String padded = "   text with spaces   ";
System.out.println(padded.trim()); // "text with spaces"

StringBuffer and StringBuilder

StringBuffer and StringBuilder represent mutable sequences of characters.

StringBuffer Example

StringBuffer buffer = new StringBuffer("Start");
buffer.append("End");
System.out.println(buffer); // "StartEnd"

buffer.insert(5, "Middle");
System.out.println(buffer); // "StartMiddleEnd"

buffer.setCharAt(10, 'X');
System.out.println(buffer); // "StartMiddleXnd"

buffer.replace(5, 11, "Center");
System.out.println(buffer); // "StartCenternd"

buffer.deleteCharAt(11);
System.out.println(buffer); // "StartCenterd"

buffer.delete(5, 11);
System.out.println(buffer); // "Startd"

buffer.reverse();
System.out.println(buffer); // "dtratS"

Comparison of String Types

Feature String StringBuffer StringBuilder
Mutability Immutable Mutable Mutable
Thread Safety N/A Thread-safe Not thread-safe
Performance Slower for modifications Faster for modifications Fastest for modifications
Use Case When immutability is required Multi-threaded environments Single-threaded environments

System Class

Provides system-related utilities.

long timestamp = System.currentTimeMillis();
System.out.println(timestamp);

int[] sourceArray = {10, 20, 30, 40};
int[] destination = new int[5];
System.arraycopy(sourceArray, 0, destination, 1, 3);
System.out.println(Arrays.toString(destination)); // [0, 10, 20, 30, 0]

Date and Time Handling

Date Class

Date now = new Date();
long milliseconds = now.getTime();
System.out.println(milliseconds);

SimpleDateFormat for Formatting

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = formatter.format(new Date());
System.out.println(formattedDate);

String dateInput = "2023/05/15 14:30:00";
SimpleDateFormat parser = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date parsedDate = parser.parse(dateInput);
System.out.println(parsedDate);

Calendar Class

Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH); // 0-11
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour24 = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);

System.out.printf("%d-%02d-%02d %02d:%02d:%02d%n", year, month+1, day, hour24, minute, second);

calendar.set(2022, Calendar.JUNE, 10, 9, 45, 0);
Date calendarDate = calendar.getTime();
System.out.println(calendarDate);

Random Number Generation

Random generator = new Random();
int randomInt = generator.nextInt();
int boundedRandom = generator.nextInt(100); // 0-99
System.out.println("Random integer: " + randomInt);
System.out.println("Random 0-99: " + boundedRandom);

Tags: java string stringbuffer StringBuilder Date

Posted on Thu, 09 Jul 2026 16:02:20 +0000 by Mark.P.W