Home  >  Article  >  Java  >  Local variable type inference in Java 10: How to use var keyword in foreach loop

Local variable type inference in Java 10: How to use var keyword in foreach loop

WBOY
WBOYOriginal
2023-07-29 15:21:411136browse

Local variable type inference in Java 10: How to use the var keyword in a foreach loop

Introduction:
Java 10 is an important version after Java 9 and introduces many new features and improvements. One of the highly anticipated features is local variable type inference. In Java 10, we can use the var keyword to declare local variables and let the compiler automatically infer the variable's type based on the expression on the right. In this article, we will explore how to use var keyword in foreach loop.

What is local variable type inference:
Before Java 10, we must explicitly declare the type of variables, such as int, String, etc. But in Java 10, by using the var keyword, we can let the compiler automatically infer the type of the variable. This simplifies the code and makes it more readable.

Using the var keyword in a foreach loop:
Before Java 10, traversing an array or collection in a foreach loop usually required declaring a temporary variable and specifying its type. For example, we can use the following code to iterate over an array of strings:

String[] names = {"Alice", "Bob", "Charlie"};

for (String name : names) {
    System.out.println(name);
}

In Java 10, we can simplify the above code using the var keyword. For example:

String[] names = {"Alice", "Bob", "Charlie"};

for (var name : names) {
    System.out.println(name);
}

In this example, the compiler will automatically infer that the type of variable name is String based on the type of the names array, and then we can use the variable name directly in the foreach loop.

Code example:
Let’s look at a more complex example of how to use the var keyword in a foreach loop to traverse a list and perform some operations:

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");

        for (var fruit : fruits) {
            System.out.println("I like " + fruit);
        }
    }
}

In this example , we first created a String type list fruits and added some fruit names. Then use the var keyword to declare a variable fruit, traverse the list in the foreach loop, and concatenate each fruit name with the string "I like" and output it.

Advantages and precautions:
When using the var keyword, you need to pay attention to the following points:

  1. The var keyword can only be used for local variables, not for classes Member variables and method parameters.
  2. The inferred variable type must be unambiguous. If the type of the expression on the right cannot be determined, the compiler will report an error.
  3. Although the var keyword can simplify code, overuse may reduce code readability. Therefore, when choosing whether to use the var keyword, you need to weigh brevity and readability.

Conclusion:
In Java 10, using the var keyword can simplify your code and improve readability. Especially in the foreach loop, using the var keyword can avoid explicitly specifying the type of the loop variable, making the code more concise. But when using the var keyword, you need to pay attention to some details to ensure that the inferred variable type is clear.

Reference materials:

  1. Understand local variable type inference in Java 10, https://www.ibm.com/developerworks/cn/java/j-lo-java10- local-variable-type-inference/index.html
  2. Official documentation, https://openjdk.java.net/projects/ amber/local-variable-type-inference.html

The above is the detailed content of Local variable type inference in Java 10: How to use var keyword in foreach loop. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn