рдЬрд╛рд╡рд╛ 14 рдЖ рд░рд╣рд╛ рд╣реИ



рдУрд░реЗрдХрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЬрд╛рд╡рд╛ 14 рдХреА рд░рд┐рд▓реАрдЬрд╝ 17 рдорд╛рд░реНрдЪ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рд░рд┐рд▓реАрдЬ рдХреА рддрд╛рд░реАрдЦ рд╕реЗрдВрдЯ рдкреИрдЯреНрд░рд┐рдХ рджрд┐рд╡рд╕ (рдЬреЛ рдЗрд╕ рджрд┐рди рдордирд╛рдИ рдЬрд╛рддреА рд╣реИ) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдпрд╛ рдирд╣реАрдВ, рд╣рдо рдмрд╣реБрдд рдЬрд▓реНрдж рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓реЗрдВрдЧреЗред рдЖрдЗрдП рдЙрди рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХреЛ рджреЗрдЦреЗрдВ рдЬреЛ рдирдП рдЬрд╛рд╡рд╛ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗ рдФрд░ рдпрд╣ рддрдп рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдо рдЖрдирдВрдж рдпрд╛ рджреБрдГрдЦ рдХреЗ рд▓рд┐рдП рдмреАрдпрд░ рдкреАрдПрдВрдЧреЗ рдпрд╛ рдирд╣реАрдВред

рдЕрднрд┐рд▓реЗрдЦ


рдЬрд╛рд╡рд╛ рдореЗрдВ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЛрдб рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдПрдХ рдореМрд▓рд┐рдХ рдирдИ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛, рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдХреЛрдб рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡рд░реНрдореАрд╕реЗрд▓реА рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рд╣реИред рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдЙрди рд╡рд░реНрдЧреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд░реНрдгрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдХреЗрд╡рд▓ рдЦреЗрддреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ , рдФрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реНрд╡рдпрдВ рдирд┐рд░реНрдорд╛рддрд╛, рдЧреЗрдЯрд░реНрд╕, рдмрд░рд╛рдмрд░реА () рдФрд░ рд╣реИрд╢рдХреЛрдб (), рд╕реНрдЯреНрд░реАрдВрдЧ () рддрд░реАрдХреЗ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред рдХрд╣реАрдВ рди рдХрд╣реАрдВ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦ рд▓рд┐рдпрд╛ рдерд╛, рдареАрдХ рд╣реИ, рдорд┐рд╕реНрдЯрд░ рд▓реЛрдореНрдмреЛрдХ? рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

public record Person(String name, int age){}

рд░рд┐рдХреЙрд░реНрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП , рдЖрдкрдХреЛ jdk14 рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рдиреА рд╣реЛрдЧреА :

javac тАФenable-preview тАФrelease 14 Person.java

рд╣рдо рд╡рд┐рдШрдЯрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрдХрд▓рдХ рдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛:

public final class Person extends java.lang.Record {
    private final java.lang.String name;
    private final int age;

    public Person(java.lang.String name, int age) { /* compiled code */ }

    public java.lang.String toString() { /* compiled code */ }

    public final int hashCode() { /* compiled code */ }

    public final boolean equals(java.lang.Object o) { /* compiled code */ }

    public java.lang.String name() { /* compiled code */ }

    public int age() { /* compiled code */ }
}

рдЗрд╕рд▓рд┐рдП, рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдмрдЬрд╛рдп , рд╣рдореЗрдВ рдПрдХ рдЕрдВрддрд┐рдо рд╡рд░реНрдЧ рдорд┐рд▓рд╛ рдЬреЛ рдирдП, рд╕рд╛рд░ рд░рд┐рдХреЙрд░реНрдб рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ ред рдФрд░ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдордиреЗ рдЙрддреНрдкрдиреНрди рдЧреЗрдЯрд░реНрд╕, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░, рдмрд░рд╛рдмрд░ (), рд╣реИрд╢рдХреЛрдб (), рд╕реНрдЯреНрд░реАрдВрдЧ () рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд░рд┐рдХреЙрд░реНрдб рд╣реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЦреЗрддреЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд░рд╕реНрдкрд░ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд░рд┐рдХреЙрд░реНрдб рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдЪрд░реНрдЪрд╛ рдпрд╣рд╛рдБ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ ред

рдмрд╛рддреВрдиреА NullPointerException


рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓ NullPointerException рд╣реЛрдЧрд╛ ред рдирд╣реАрдВ, рдХрдВрдкрд╛рдЗрд▓рд░ рдЕрднреА рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдирдкреАрдИ рдХреЛ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП , рд▓реЗрдХрд┐рди рдЕрдм рдЕрдкрд╡рд╛рдж рдХрд╛ рд╡рд░реНрдгрди рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддреЗ рд╣реИрдВ: рд╣рдо рдЬрд╛рд╡рд╛ 11 рдФрд░ рдЬрд╛рд╡рд╛ 14. рдореЗрдВ рдПрдирдкреАрдИ рдХреЛ рдмреБрд▓рд╛рддреЗ рд╣реИрдВ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЬрдЯрд┐рд▓ рд░рдЪрдирд╛ рд╣реИ, рдПрдВрдЯрд┐рдЯреА рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ , рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рд╕реЗ рдХрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣:

var street = message.getAuthor().getAddress().getStreet();

рдЬрд╛рд╡рд╛ 11 рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рдкреБрд░рд╛рдирд╛ рдкрд░рд┐рдЪрд┐рдд рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рдореБрдЦреНрдп рдкреНрд░рд╢реНрди рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ: рдХреМрди рдЕрд╢рдХреНрдд рд╣реИ? рд╕рдВрджреЗрд╢, рд▓реЗрдЦрдХ, рдкрддрд╛?

Exception in thread "main" java.lang.NullPointerException
	at Main.main(Main.java:11)

рдЬрд╛рд╡рд╛ 14 рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдХреНрд╖рд╛ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдКрдкрд░ рд░рд┐рдХреЙрд░реНрдб :

javac тАФenable-preview тАФrelease 14 Main.java

рдФрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдзреНрд╡рдЬ рдЬреЛрдбрд╝рдХрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

java -XX:+ShowCodeDetailsInExceptionMessages --enable-preview Main

рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рддреЗ рд╣реИрдВ:

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "Address.getStreet()" because the return value of "Author.getAddress()" is null
	at Main.main(Main.java:11)

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдВрджреЗрд╢ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреЙрд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдПрдирдкреАрдИ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╣рд╛рдВ рд╣реИ ред

рдкрд╛рда рдмреНрд▓реЙрдХ


рдЬрд╛рд╡рд╛ 13 рдореЗрдВ рд╡рд╛рдкрд╕ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдкрд╛рда рдмреНрд▓реЙрдХ рдЬрд╛рд╡рд╛ 14 рдореЗрдВ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рдЙрдирдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛ рд╣реИред SQL рдХреНрд╡реЗрд░реА, HTML рдХреЛрдб, JSON рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реБрд╡рд┐рдзрд╛ ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдпрд╛рдж рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ SQL рдХреНрд╡реЗрд░реА рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред рдЬрд╛рд╡рд╛ 13 рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдПрдХ рдкрдардиреАрдп рдХреНрд╡реЗрд░реА рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдорд╡рд░реНрддреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдХреНрд╡реЗрд░реА рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:

String sql = "SELECT name, age " +
                 "FROM PERSON" +
                 "WHERE name = \'Igor\'" +
                 "AND car=\'Niva\'";

рдЬрд╛рд╡рд╛ 13 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЯреНрд░рд┐рдкрд▓ рджреЛрд╣рд░реЗ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдкрдВрдХреНрддрд┐ рд▓рд┐рдЦрдХрд░ рдПрдХ рдкрд╛рда рдмреНрд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


    String sql = """ 
                 SELECT name, age 
                 FROM PERSON
                 WHERE name = 'Igor'
                   AND car='Niva'
                 """;

рдЬрд╛рд╡рд╛ 14 рджреЛ рдирдП рд╕реАрдорд╛рдВрдХрдХ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╛рда рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд╣рд▓рд╛ рдПрдХрд▓ рд╕реНрдерд╛рди рд╣реИ: \ s ред рджреВрд╕рд░рд╛ рдиреНрдпреВрд▓рд╛рдЗрди рд╡рд░реНрдг рд╣реИ: \ ред

рднрд╛рд╡ рдмрджрд▓реЗрдВ


рдЬрд╛рд╡рд╛ 14 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рд╕реНрд╡рд┐рдЪ рднрд╛рд╡ рдкреНрд░реАрд╡реНрдпреВ рдлреАрдЪрд░ рд╕реЗ рдкреВрд░реНрдг рдлреАрдЪрд░ рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рд╣рдо рдирдП рдСрдкрд░реЗрдЯрд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ:

  • рд▓реИрдореНрдмреНрдбрд╛ рд╕рд┐рдВрдЯреЗрдХреНрд╕
  • рдПрдХ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
  • рд╕рдВрднрд╛рд╡рд┐рдд рд╕реНрд╡рд┐рдЪ () рдорд╛рдиреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЗ рдЕрдкреВрд░реНрдг рдХрд╡рд░реЗрдЬ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ ред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрджрд┐ рдЖрдк рдПрдХ рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

    public enum  Car {
        NIVA, NEXIA, KIA
    }

    рдлрд┐рд░ рдпрджрд┐ рдЖрдк рд╕реНрд╡рд┐рдЪ () рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрдЧрд╛ рдЬреЛ рдХрд╣рддреА рд╣реИ рдХрд┐ рдПрдиреНрдпреВрдорд░реЗрд╢рди рдХреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдорд╛рдорд▓реЗ рдирд┐рдореНрди рдирд╣реАрдВ рд╣реИрдВ:

    switch (car) {
        case NIVA -> System.out.println("Niva");
        case NEXIA -> System.out.println("Nexia");
    }
    // error: the switch expressions does not cover all possible input values.

  • рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛:

    var avto = switch (car) {
        case NIVA, KIA -> "Niva are better";
        case NEXIA -> "Nexia";
        default -> "Niva still better";
    };


рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди


рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди рдЬрд╛рд╡рд╛ 14. рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдПрдХ рдирдИ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕реБрд╡рд┐рдзрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдмрд╛рддреЗрдВ рд╣реБрдИ рд╣реИрдВ, рдХрдИ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдБ рд╣реИред рд▓рдХреНрд╖реНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдФрд░ рдЙрд╕рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рдВрдЪрд╛рд▓рдХ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рд╣реИ ред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЬрд╛рд╡рд╛ 14 рд╕реЗ рдкрд╣рд▓реЗ рд╣рдо рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦреЗрдВрдЧреЗ:

Object obj = "Igor";

if (obj instanceof String) {
    String s = (String) obj;
    System.out.println(s.length());
}

рдЙрдиред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ред рдЬрд╛рд╡рд╛ 14 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдПрдХ рдирдпрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЙрдкрд▓рдмреНрдз рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЗрдВрд╕реНрдЯреЛрдлрд╝ рд╕рддреНрдпрд╛рдкрди рдФрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ:

Object obj = "Igor";

if (obj instanceof String s){
    System.out.println(s.length());
}

рдирд┐рд╖реНрдХрд░реНрд╖


рдЬрд╛рд╡рд╛ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЬрд╛рд░реА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдирд╢реНрд╡рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЬреАрд╡рди рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдХреЛрдб рдХреНрд▓реАрдирд░, рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди, рдЙрдЪреНрдЪ рд╡реЗрддрди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рд╣реИрдВред рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдХреМрди рд╕реА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╕рдореБрджрд╛рдп рдХрд╛ рдкреНрдпрд╛рд░ рдЬреАрддреЗрдВрдЧреА?

All Articles