java-fundamentals

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Java Fundamentals Skill

Java基础编程Skill

Master core Java programming with production-quality patterns.
掌握符合生产级规范的核心Java编程。

Overview

概述

This skill covers Java fundamentals including syntax, OOP, collections, streams API, and exception handling for Java 8-21.
本Skill涵盖Java 8-21的核心基础知识,包括语法、OOP、集合、Streams API和异常处理。

When to Use This Skill

适用场景

Use when you need to:
  • Write clean, idiomatic Java code
  • Design classes following OOP principles
  • Choose appropriate collection types
  • Implement functional programming patterns
  • Handle exceptions properly
当你需要以下操作时使用:
  • 编写简洁、规范的Java代码
  • 遵循OOP原则设计类
  • 选择合适的集合类型
  • 实现函数式编程模式
  • 正确处理异常

Topics Covered

涵盖主题

Core Syntax (Java 8-21)

核心语法(Java 8-21)

  • Variables, data types, operators
  • Control flow, methods, classes
  • Records (Java 16+), sealed classes (Java 17+)
  • Pattern matching (Java 21)
  • 变量、数据类型、运算符
  • 控制流、方法、类
  • Records(Java 16+)、密封类(Java 17+)
  • 模式匹配(Java 21)

Object-Oriented Programming

面向对象编程

  • Classes, inheritance, polymorphism
  • Interfaces and abstract classes
  • SOLID principles
  • 类、继承、多态
  • 接口和抽象类
  • SOLID原则

Collections Framework

集合框架

  • List: ArrayList, LinkedList
  • Set: HashSet, TreeSet
  • Map: HashMap, ConcurrentHashMap
  • Queue: ArrayDeque, PriorityQueue
  • List:ArrayList、LinkedList
  • Set:HashSet、TreeSet
  • Map:HashMap、ConcurrentHashMap
  • Queue:ArrayDeque、PriorityQueue

Streams API

Streams API

  • filter, map, flatMap, reduce, collect
  • Optional handling
  • Parallel streams
  • filter、map、flatMap、reduce、collect
  • Optional处理
  • 并行流

Exception Handling

异常处理

  • Checked vs unchecked exceptions
  • Try-with-resources
  • Custom exceptions
  • 受检异常与非受检异常
  • try-with-resources
  • 自定义异常

Quick Reference

快速参考

java
// Record (Java 16+)
public record User(String name, String email) {}

// Pattern matching (Java 21)
String format(Object obj) {
    return switch (obj) {
        case Integer i -> "Int: %d".formatted(i);
        case String s -> "String: %s".formatted(s);
        default -> obj.toString();
    };
}

// Stream operations
List<String> names = users.stream()
    .filter(User::isActive)
    .map(User::getName)
    .sorted()
    .toList();

// Optional handling
String name = Optional.ofNullable(user)
    .map(User::getName)
    .orElse("Unknown");
java
// Record (Java 16+)
public record User(String name, String email) {}

// Pattern matching (Java 21)
String format(Object obj) {
    return switch (obj) {
        case Integer i -> "Int: %d".formatted(i);
        case String s -> "String: %s".formatted(s);
        default -> obj.toString();
    };
}

// Stream operations
List<String> names = users.stream()
    .filter(User::isActive)
    .map(User::getName)
    .sorted()
    .toList();

// Optional handling
String name = Optional.ofNullable(user)
    .map(User::getName)
    .orElse("Unknown");

Collection Selection

集合选择指南

NeedUseReason
Indexed accessArrayListO(1) random access
Unique elementsHashSetO(1) contains
Sorted uniqueTreeSetO(log n) sorted
Key-value pairsHashMapO(1) get/put
需求选择原因
索引访问ArrayListO(1)随机访问
唯一元素HashSetO(1)存在性检查
排序唯一元素TreeSetO(log n)排序
键值对HashMapO(1)获取/存入

Troubleshooting

故障排查

ProblemCauseSolution
NullPointerExceptionNull referenceUse Optional
ConcurrentModificationExceptionModify during iterationIterator.remove()
ClassCastExceptionWrong typeUse generics
问题原因解决方案
NullPointerException空引用使用Optional
ConcurrentModificationException迭代期间修改使用Iterator.remove()
ClassCastException类型错误使用泛型

Usage

使用方法

Skill("java-fundamentals")
Skill("java-fundamentals")