yieldλ switch ννμμμ κ°μ λ°ννκΈ° μν΄ μ¬μ©λλ ν€μλμ
λλ€.
yield νμμ±
β’
νμ΄ν(->) ꡬ문 λμ μ€κ΄νΈ({})λ₯Ό μ¬μ©νλ κ²½μ°
β’
case λΈλ‘ λ΄μμ μ¬λ¬ μ€μ μ½λ μ€νμ΄ νμν κ²½μ°
β’
κ³μ°λ κ°μ λ°νν΄μΌ νλ κ²½μ°
μμμ½λ1
enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
public class YieldExample {
public static void main(String[] args) {
Day today = Day.WEDNESDAY;
String schedule = switch (today) {
case MONDAY, TUESDAY -> "Working day";
case WEDNESDAY -> {
System.out.println("Processing Wednesday schedule...");
yield "Mid-week meeting";
}
case THURSDAY, FRIDAY -> "Working day";
case SATURDAY, SUNDAY -> {
String activity = "Weekend rest";
yield activity;
}
};
System.out.println("Today's schedule: " + schedule);
}
}
Java
볡μ¬
μ μ½λλ enum Dayλ₯Ό μ¬μ©νμ¬ μμΌλ³ μ€μΌμ€μ λ°ννλ μμμ
λλ€. νΉν WEDNESDAYμ μ£Όλ§μ κ²½μ° yield ν€μλλ₯Ό μ¬μ©νμ¬ λΈλ‘ λ΄μμ κ°μ λ°ννλ κ²μ 보μ¬μ€λλ€.
μμμ½λ2
public class ColorExample {
public static String getColorType(String color) {
return switch (color.toLowerCase()) {
case "red", "yellow", "blue" -> "Primary color";
case "green" -> {
System.out.println("Processing green...");
yield "Secondary color";
}
case "white", "black" -> {
String type = "Neutral color";
yield type;
}
default -> "Unknown color";
};
}
public static void main(String[] args) {
System.out.println(getColorType("green")); // Secondary color μΆλ ₯
System.out.println(getColorType("red")); // Primary color μΆλ ₯
}
}
Java
볡μ¬
μ΄ μμλ μμ νμ
μ νμΈνλ λ©μλλ₯Ό ꡬνν κ²μΌλ‘, yieldλ₯Ό μ¬μ©νμ¬ λΈλ‘ λ΄μμ κ³μ°λ κ²°κ³Όλ₯Ό λ°ννλ λ°©λ²μ 보μ¬μ€λλ€.