Я запускаю этот минимальный набор кода в https://www.onlinegdb.com/online_java_compiler с Java 23.0.2+7-58 . Также попробовал с Java 21 и 24 на моей собственной машине и получил те же результаты. Пример не предназначен для того, чтобы сделать что-то полезное, за исключением продемонстрирования проблемы-мой фактический код более сложный.
Я запускаю этот минимальный набор кода в https://www.onlinegdb.com/online_java_compiler с Java 23.0.2+7-58 . Также попробовал с Java 21 и 24 на моей собственной машине и получил те же результаты. Пример не предназначен для того, чтобы сделать что-то полезное, за исключением продемонстрирования проблемы-мой фактический код более сложный.[code]record VehicleInput(Vehicle vehicle) {}
sealed interface Vehicle permits Car {}
record Car(String licensePlate) implements Vehicle {}
sealed interface Animal permits Cat, Dog {}
record Cat() implements Animal {}
record Dog() implements Animal {}
class VehicleProgressor { private boolean progress(VehicleInput input, Animal animal) { if (input.vehicle() instanceof Car(String licensePlate)) { return true; }
return switch (animal) { case Cat cat -> true; case Dog dog -> true; }; } }
public class Main { public static void main(String[] args) { System.out.println(Runtime.version());
at Main.main(Main.java:30) [/code] это ошибка в Java/jdk?[code]class VehicleProgressor { private boolean progress(VehicleInput input, Animal animal) { if (input.vehicle() instanceof Car) { return true; }
return switch (animal) { case Cat cat -> true; case Dog dog -> true; }; } } < /code> или в: < /p> class VehicleProgressor { private boolean progress(VehicleInput input, Animal animal) { if (input.vehicle() instanceof Car(String licensePlate)) { return true; } return true; } } < /code> или в: < /p> class VehicleProgressor { private boolean progress(Vehicle vehicle, Animal animal) { if (vehicle instanceof Car(String licensePlate)) { return true; }
return switch (animal) { case Cat cat -> true; case Dog dog -> true; }; } } [/code] работает нормально, просто печатая номер версии. Я также попытался иметь все в отдельных файлах в качестве общего interface s/[code]record[/code] s, но это не имеет значения.
Я запускаю этот минимальный набор кода в с Java 23.0.2+7-58 . Также попробовал с Java 21 и 24 на моей собственной машине и получил те же результаты. Пример не предназначен для того, чтобы сделать что-то полезное, за исключением продемонстрирования...
Я нашел этот минимальный набор кода, который, кажется, нарушает любую версию Java, которую я могу найти. (Также воспроизводится в с Java 23.0.2+7-58 ). Пример не предназначен для того, чтобы сделать что-то полезное, за исключением...
Я нашел этот минимальный набор кода, который, кажется, нарушает любую версию Java, которую я могу найти. (Также воспроизводится в с Java 23.0.2+7-58 ). Пример не предназначен для того, чтобы сделать что-то полезное, за исключением...
Я нашел этот минимальный набор кода, который, кажется, нарушает любую версию Java, которую я могу найти. (Также воспроизводится в с Java 23.0.2+7-58 ). Пример не предназначен для того, чтобы сделать что-то полезное, за исключением...
Я нашел этот минимальный набор кода, который, кажется, нарушает любую версию Java, которую я могу найти. (Также воспроизводится в с Java 23.0.2+7-58 ). Пример не предназначен для того, чтобы сделать что-то полезное, за исключением...