1. Introduction
  2. License
  3. Contributing
  4. 1. Getting Started
  5. 2. Hello World
  6. 3. Language Features
    1. 3.1. Data Types
    2. 3.2. Variables and Constants
    3. 3.3. Strings
    4. 3.4. Collection Types
    5. 3.5. Functions
    6. 3.6. Control Flow
    7. 3.7. Custom Types
      1. 3.7.1. Classes
      2. 3.7.2. Records
      3. 3.7.3. Structures
      4. 3.7.4. Interfaces and Traits
      5. 3.7.5. Enumerated Types
      6. 3.7.6. Members
    8. 3.8. Lambdas and Closures
    9. 3.9. Streams and Iterators
    10. 3.10. Pattern Matching
    11. 3.11. Packages and Modules
    12. 3.12. Equality
    13. 3.13. Generics
    14. 3.14. Polymorphism
    15. 3.15. Inheritance
    16. 3.16. Error Handling
    17. 3.17. Nullability and Optionality
    18. 3.18. Conversion and Casting
    19. 3.19. Annotations
    20. 3.20. Smart Pointers
    21. 3.21. Documentation Comments
  7. 4. Memory Management
    1. 4.1. Ownership
    2. 4.2. References and Lifetimes
  8. 5. Resource Management
  9. 6. Threading and Concurrency
    1. 6.1. Threads
    2. 6.2. Synchronization
    3. 6.3. Producer-Consumer Pattern
  10. 7. Testing
  11. 8. Benchmarking
  12. 9. Logging and Tracing
  13. 10. Environment and Configuration
  14. 11. Build Tools
  15. 12. Project Structure
  16. 13. Meta Programming
  17. 14. Asynchronous Programming
  18. Next Steps

Rust for Java Developers

Language Features

This section compares Java and Rust language features. Here's what is covered in this section:

  • Data Types
  • Variables and Constants
  • Strings
  • Collection Types
  • Functions
  • Control Flow
  • Custom Types
  • Lambdas and Closures
  • Streams and Iterators
  • Pattern Matching
  • Packages and Modules
  • Equality
  • Generics
  • Polymorphism
  • Inheritance
  • Error Handling
  • Nullability and Optionality
  • Conversion and Casting
  • Annotations
  • Smart Pointers
  • Documentation Comments