Master generics for type safety, enums for constants, and regular expressions for pattern matching.
Learn type-safe generics, enum types, and powerful regex pattern matching.
class Box<T> { private T value; }T getValue()void setValue(T value)public static <T> void printArray(T[] array)<T extends Number> - accepts Number or subclassesString Box: Hello Generics!
Integer Box: 42
Double Box: 3.14
Array: 1 2 3 4 5
Array: A B C D
Sum of numbers: 15.5
class Box<T> { T value; }public static <T> void method(T param)<T extends Number> limits to Number subclassesBox<String> box = new Box<>("text");Review feedback below
enum Day { MONDAY, TUESDAY, WEDNESDAY, ... }enum Planet { MERCURY(3.303e+23, 2.4397e6), ... }values() - returns array of all enum constantsvalueOf("NAME") - converts string to enumordinal() - returns position (0-based)name() - returns name as stringToday is: WEDNESDAY
Day number: 3
Is weekend? false
All days: MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY SUNDAY
Planet: EARTH
Mass: 5.976E24 kg
Radius: 6.378E6 m
Surface Gravity: 9.80 m/s²
enum Color { RED, GREEN, BLUE }enum Size { SMALL(1), MEDIUM(2); int val; Size(int v){val=v;} }MyEnum.values()myEnum.ordinal() (0-based index)Review feedback below
import java.util.regex.*;Pattern pattern = Pattern.compile("regex");Matcher matcher = pattern.matcher(input);matcher.find() - find next matchmatcher.matches() - match entire stringmatcher.group() - get matched text[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}\\d{3}-\\d{3}-\\d{4}\\d+str.matches(regex)str.replaceAll(regex, replacement)str.split(regex)Email Validation:
test@example.com: valid
invalid.email: invalid
user.name@domain.org: valid
Phone numbers found: 555-123-4567 555-987-6543
Numbers extracted: 42 100 7
Censored: Hello *****, how are you *****?
Pattern p = Pattern.compile("\\\\d+");Matcher m = p.matcher(text);while (m.find()) { m.group(); }str.matches("regex") - checks entire string\\\\d in Java strings for \\dReview feedback below