#Java #Wrapper #Class Why we need Wrapper Class in Java ? 👉 Wrapper classes = convert primitive → object Examples: int → Integer, char → Character, double → Double ✅ Main Reasons (Simple Points) 1. 📦 Use in Collections Java collections like ArrayList, HashMap work with objects only ❌ Cannot use int ✅ Use Integer 👉 Example: ArrayList<Integer> list = new ArrayList<>(); 2. 🔄 Conversion (Primitive ↔ Object) Convert data easily int → Integer (Autoboxing) Integer → int (Unboxing) 3. 🧰 Utility Methods Wrapper classes provide useful methods 👉 Example: Integer.parseInt("123"); Double.valueOf("10.5"); 4. ❌ Handle Null Values Primitive cannot store null Wrapper can store null 5. 💾 Required in Frameworks Many frameworks (like Spring, Hibernate) need objects Wrapper classes are required
Why Java Wrapper Classes are Essential
More Relevant Posts
-
Is Java a compiled language or an interpreted one? Both. Confused? Yes, Java is both compiled as well as interpreted language. This is what makes it platform-independent. Java Code >> Compile (javac) >> Bytecode (portable code) >> Interpret (platform specific) >> Machine Code >> Execute. Normal: 1. Java Compiler (javac) compiles Java code to Bytecode (which is platform-independent). 2. Java Interpreter (java) interprets this bytecode (line-by-line) & convert it to Machine language. 3. Execute. Exception: JIT (Just In Time) Compiler 1. JVM maintains the count for no of times a function is executed. 2. If it exceeds the limit then JIT directly compiles the Java code into Machine language. No Interpretation. In General, • Compile: Source code >> Optimized Object Code (can be machine code or other optimized code) • Interpret: Source Code >> Machine Code (to be executed)
To view or add a comment, sign in
-
I’ve compiled 5000+ REAL-TIME Interview Questions asked in top companies like PwC, Cognizant, TCS, Infosys, Deloitte, EY & startups. 🚀 Not just a question bank — a Complete Interview Preparation System ✅ Detailed, beginner-friendly answers ✅ STAR method for real-time questions ✅ Confidence-building explanation guidance ✅ Lifetime access + doubt support + FREE updates 📚 Includes: Selenium | Java (300+ Programs) | Manual Testing | BDD Cucumber | SQL | API (Postman) | Rest Assured | Git | Jenkins | Jira | Agile | Playwright | Javascript | Typescript (Upcoming) ✔ 1500+ Selenium Practical Exercises ✔ 500+ API Testing Exercises ✔ 500+ Rest Assured Exercises ✔ 100+ Behavioural & Scenario-Based Questions ✔ Real-Time Projects (Banking + E-commerce) 👩💻 Perfect for Freshers | 1–6 Years | Manual → Automation Switch 🎁 ONE PDF = COMPLETE INTERVIEW PREPARATION 🔗 Notes Link:--- https://lnkd.in/dRMaNzSk
Is Java a compiled language or an interpreted one? Both. Confused? Yes, Java is both compiled as well as interpreted language. This is what makes it platform-independent. Java Code >> Compile (javac) >> Bytecode (portable code) >> Interpret (platform specific) >> Machine Code >> Execute. Normal: 1. Java Compiler (javac) compiles Java code to Bytecode (which is platform-independent). 2. Java Interpreter (java) interprets this bytecode (line-by-line) & convert it to Machine language. 3. Execute. Exception: JIT (Just In Time) Compiler 1. JVM maintains the count for no of times a function is executed. 2. If it exceeds the limit then JIT directly compiles the Java code into Machine language. No Interpretation. In General, • Compile: Source code >> Optimized Object Code (can be machine code or other optimized code) • Interpret: Source Code >> Machine Code (to be executed)
To view or add a comment, sign in
-
⚡ map vs flatMap in Java (Stream API) Definition: map() → Transforms each element 1:1 flatMap() → Transforms and flattens nested structures 🤔 Why use? 1. map() - When output is a single value per input - Simple transformations 2. flatMap() - When each element produces multiple values (collections/streams) - Avoid nested structures like List<List<T>> 💻 Example List<List<Integer>> list = Arrays.asList( Arrays.asList(1, 2), Arrays.asList(3, 4), Arrays.asList(5, 6) ); // map() → creates nested structure List<Stream<Integer>> mapResult = list.stream() .map(inner -> inner.stream()) .collect(Collectors.toList()); // flatMap() → flattens into single stream List<Integer> flatMapResult = list.stream() .flatMap(inner -> inner.stream()) .collect(Collectors.toList()); 🔄 Flow map() List<List> → Stream<List> → Stream<Stream> flatMap() List<List> → Stream<List> → Stream 🧠 Rule of Thumb 👉 If your transformation returns a single value → use map() 👉 If it returns a collection/stream → use flatMap() 👉 If you are preparing for Java backend interviews, connect & follow - I share short, practical backend concepts regularly. #Java #Backend #Streams #Java8 #CodingInterview #InterviewPrep #SoftwareEngineering
To view or add a comment, sign in
-
-
The Command Pattern in Java: Eliminating Fat Service Classes with Commands and Handlers Fat Service classes are a liability — one class that does everything is a class that's impossible to test and dangerous to change. This post shows how to apply the Command pattern in Java using Records, Repository interfaces, and single-responsibility Handlers to keep your business logic clean and isolated....
To view or add a comment, sign in
-
The Command Pattern in Java: Eliminating Fat Service Classes with Commands and Handlers Fat Service classes are a liability — one class that does everything is a class that's impossible to test and dangerous to change. This post shows how to apply the Command pattern in Java using Records, Repository interfaces, and single-responsibility Handlers to keep your business logic clean and isolated....
To view or add a comment, sign in
-
🚀 Day 6 of Java Series — Count Vowels Using Streams Ever wondered how to count vowels in a string using Java 8 in a clean and functional way? Here’s a simple yet powerful approach using Streams 👇 import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; public class CountOfVowels { public static void main(String[] args) { String name = "Microservices"; List<String> vowels = Arrays.asList("a", "e", "i", "o", "u"); Map<String, Long> map = Arrays.stream(name.split("")) .collect(Collectors.groupingBy(Function.identity(), Collectors.counting())); List<Map.Entry<String, Long>> finalMap = map.entrySet().stream() .filter(entry -> vowels.contains(entry.getKey())) .toList(); System.out.println(finalMap); } } 🔍 How it works: 1️⃣ name.split("") → Converts string into individual characters 2️⃣ groupingBy(Function.identity(), counting()) → Counts frequency of each character 3️⃣ Filter step → Keeps only vowels 4️⃣ Final result → List of vowels with their count 👉 Output: [e=2, i=2, o=1] #Java #Java8 #Streams #Coding #Developers #Learning
To view or add a comment, sign in
-
🚀 Java Puzzle: Why this prints "100" even after using "final"? 🤯 Looks like a bug… but it’s actually Java behavior 👇 👉 Example: final int[] arr = {1, 2, 3}; arr[0] = 100; System.out.println(arr[0]); // 100 😮 👉 Wait… "final" but still changing? 🤔 💡 Reality of "final": - "final" → reference cannot change - NOT → object data cannot change 👉 So: - ❌ "arr = new int[]{4,5,6}" → not allowed - ✅ "arr[0] = 100" → allowed --- 🔥 Now the REAL twist 😳 final StringBuilder sb = new StringBuilder("Java"); sb.append(" Developer"); System.out.println(sb); // Java Developer 😮 👉 Again changing despite "final" 🔥 Golden Rule: 👉 "final" means: - You cannot point to a new object - But you CAN modify the existing object 💡 Common misconception: 👉 Many think "final = constant" (NOT always true) 💬 Did you also think "final" makes everything immutable? #Java #JavaDeveloper #Programming #Coding #100DaysOfCode #TechTips #JavaTips #InterviewPrep #Developers #SoftwareEngineering
To view or add a comment, sign in
-
⚡ Lambdas & Functional Interfaces in Java What are they? Lambda expressions = short way to write anonymous functions. Functional Interface = interface with only one abstract method. 💡 Why use them? 1. Cleaner & less boilerplate code 2. Improves readability 3. Core for Streams & modern Java APIs 4. Encourages functional-style programming 🧩 Example Without Lambda: Runnable r = new Runnable() { public void run() { System.out.println("Running..."); } }; With Lambda: Runnable r = () -> System.out.println("Running..."); 🎯 Custom Functional Interface @FunctionalInterface interface Calculator { int operate(int a, int b); } Calculator add = (a, b) -> a + b; System.out.println(add.operate(2, 3)); // 5 🔁 Common Built-in Functional Interfaces 1. Predicate<T> → boolean result 2. Function<T, R> → transform input → output 3. Consumer<T> → takes input, no return 4. Supplier<T> → returns value, no input ⚙️ Flow Input → Lambda → Functional Interface → Output 🧠 Rule of Thumb If your interface has one method, think → "Can I replace this with a lambda?" 👉 If you are preparing for Java backend interviews, connect & follow - I share short, practical backend concepts regularly. #Java #SpringBoot #Backend #FunctionalProgramming #Coding
To view or add a comment, sign in
-
-
🚀 Day 25 – Collections Tuning: Writing High-Performance Java Code Java Collections are powerful — but default usage ≠ optimal performance. As an architect, understanding how to tune collections can significantly impact latency, memory, and scalability. Here’s how to use Collections the right way: 🔹 1. Choose the Right Collection Type ArrayList → Fast reads, slower inserts in middle LinkedList → Rarely useful (avoid in most cases) HashMap → Fast key-based access (O(1)) TreeMap → Sorted data (O(log n)) ➡ Wrong choice = performance bottleneck. 🔹 2. Set Initial Capacity Smartly Avoid repeated resizing: new ArrayList<>(1000); new HashMap<>(1024); ➡ Reduces rehashing & memory reallocations. 🔹 3. Understand Load Factor (HashMap) Default = 0.75 Higher → less memory, more collisions Lower → more memory, better performance ➡ Tune based on use case. 🔹 4. Prefer ArrayList Over LinkedList Better cache locality Faster iteration Lower memory overhead ➡ LinkedList is rarely the right choice in real systems. 🔹 5. Use Concurrent Collections When Needed ConcurrentHashMap → thread-safe without full locking CopyOnWriteArrayList → read-heavy scenarios ➡ Avoid Collections.synchronized* unless necessary. 🔹 6. Avoid Unnecessary Boxing/Unboxing List<Integer> vs int[] ➡ Boxing adds memory + CPU overhead ➡ Use primitive arrays where performance is critical. 🔹 7. Use Streams Carefully Great for readability But avoid in tight loops / high-frequency paths ➡ Sometimes traditional loops are faster. 🔹 8. Optimize Iteration Patterns Prefer for-each over index loops Avoid nested loops on large datasets ➡ Think in terms of algorithmic complexity. 🔹 9. Remove Duplicates Efficiently Set<T> unique = new HashSet<>(list); ➡ O(n) vs O(n²) approaches. 🔥 Architect’s Takeaway Collections tuning is about small optimizations at scale. Done right, it leads to: ✔ Lower latency ✔ Better memory usage ✔ Higher throughput ✔ Scalable systems 💬 How are you tuning Java Collections in your high-performance applications? #100DaysOfJavaArchitecture #Java #Collections #PerformanceTuning #SystemDesign #JavaPerformance #TechLeadership
To view or add a comment, sign in
-
-
Java is quietly becoming more expressive This is not the Java you learned 5 years ago. Modern Java (21 → 25) is becoming much more concise and safer. 🧠 Old Java if (obj instanceof User) { User user = (User) obj; return user.getName(); } else if (obj instanceof Admin) { Admin admin = (Admin) obj; return admin.getRole(); } 👉 verbose 👉 error-prone 👉 easy to forget cases 🚀 Modern Java return switch (obj) { case User user -> user.getName(); case Admin admin -> admin.getRole(); default -> throw new IllegalStateException(); }; ⚡ Even better with sealed classes Java sealed interface Account permits User, Admin {} 👉 Now the compiler knows all possible types 👉 and forces you to handle them 💥 Why this matters less boilerplate safer code (exhaustive checks) fewer runtime bugs 👉 the compiler does more work for you ⚠️ What I still see in real projects old instanceof patterns manual casting everywhere missing edge cases 🧠 Takeaway Modern Java is not just about performance. It’s about writing safer and cleaner code. 🔍 Bonus Once your code is clean, the next challenge is making it efficient. That’s what I focus on with: 👉 https://joptimize.io Are you still writing Java 8-style code in 2025? #JavaDev #Java25 #Java21 #CleanCode #Backend #SoftwareEngineering
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development