рдЕрд▓реНрдкрдЬреНрдЮрд╛рдд рдЬрд╛рд╡рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБред рджреВрд╕рд░рд╛ рднрд╛рдЧ

рдЬреИрд╕рд╛ рдХрд┐ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВ рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд╛рдВрдЪ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд▓рд╛рддрд╛ рд╣реВрдВред

рдЕрд▓реНрдкрдЬреНрдЮрд╛рдд рдЬрд╛рд╡рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБред рдкрд╣рд▓рд╛ рднрд╛рдЧ

6. рдирд╛рдо рд╕рдВрдШрд░реНрд╖ред

рдпрджрд┐ рд╡рд┐рднрд┐рдиреНрди рдкреИрдХреЗрдЬреЛрдВ рд╕реЗ рдПрдХ рд╣реА рдирд╛рдо рд╡рд╛рд▓реА рдХрдИ рдХрдХреНрд╖рд╛рдПрдВ рдЖрдпрд╛рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рдПрдХ рдирд╛рдо рд╕рдВрдШрд░реНрд╖ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХрдХреНрд╖рд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╕рдордп, рдЗрд╕рдХреЗ рдпреЛрдЧреНрдп рдирд╛рдо рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рдд, рдкреИрдХреЗрдЬ рдХреЗ рдирд╛рдо рд╕рд╣рд┐рдд рдкреВрд░рд╛ рдирд╛рдо, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП java.lang ред рд╕реНрдЯреНрд░рд┐рдВрдЧред

рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╕реВрдЪреА рд╡рд░реНрдЧ java.awt рдкреИрдХреЗрдЬ рдФрд░ java.util рдкреИрдХреЗрдЬ рджреЛрдиреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ:

import java.awt.*; import java.util.*; import java.util.List; public class  { public static void main(String... ) { List  = Collections.emptyList(); System.out.println(); } } 


рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╡рд░реНрдЧ, java.util.List рдХреЛ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдпрд╣рд╛рдБ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛, рд╕рд┐рд░рд┐рд▓рд┐рдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рдБ! рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд░рд╣рд╕реНрдпреЛрджреНрдШрд╛рдЯрди рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛ ... рдРрд╕рд╛ рдЬрд╛рд╡рд╛ред рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╕рдВрдЦреНрдпрд╛рдУрдВ, рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдФрд░ рдЕрдореЗрд░рд┐рдХреА рдореБрджреНрд░рд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдмрд┐рд▓реНрдХреБрд▓ рдХрд┐рд╕реА рднреА рдкрддреНрд░ рд╕реЗ рдорд┐рд▓рдХрд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдВрддрд┐рдо рдЪрд░рд┐рддреНрд░ ($) рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ, рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ)ред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЬрдм рддрдХ рдЖрдкрддреНрддрд┐ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдПред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЖрдк рдЕрдВрдЧреНрд░реЗрдЬреА, рд░реВрд╕реА рдФрд░ рдЧреНрд░реАрдХ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ "рдП" рдкрд╛рддреНрд░реЛрдВ рд╕реЗ рдХрд┐рддрдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ ...



7. рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЖрд░рдВрднред

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

 List<Integer> theNumbers = new LinkedList<Integer>(); Collections.addAll(theNumbers, 4, 8, 15, 16, 23, 42); 


рд▓реЗрдХрд┐рди рдпрд╣ рдХреЛрдб рдПрдХ рдХреЗ рдмрдЬрд╛рдп рджреЛ рд▓рд╛рдЗрдиреЗрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рдЖрдк рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ Google рд╕рдВрдЧреНрд░рд╣, рдпрд╛ рдЕрдкрдиреА рдЦреБрдж рдХреА рдмрд╛рдЗрдХ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ:

 List<Integer> theNumbers = new LinkedList<Integer>(Arrays.asList(4, 8, 15, 16, 23, 42)); 


рдФрд░ рдЬрд╛рд╡рд╛ рдХреЗ рдПрдХ рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реНрдерд┐рд░ рдЖрдпрд╛рдд рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде, рдЖрдк рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдПрдХ рдФрд░ рд╢рдмреНрдж рд╕реЗ рдЫреЛрдЯрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 import static java.util.Arrays.*; // ... List<Integer> theNumbers = new LinkedList<Integer>(asList(4, 8, 15, 16, 23, 42)); 


рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдЧрд░ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИ, рддреЛ рд╣рдо рдХрд╛рдлреА рд╕рд░рд▓рддрд╛ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:

 import static java.util.Arrays.*; // ... List<Integer> theNumbers = asList(4, 8, 15, 16, 23, 42); 


рдпреЗ рдЯреНрд░рд┐рдХреНрд╕ рдЖрдкрдХреЛ рд╕рдВрдЧреНрд░рд╣ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рд╡рд╛рд░рд┐рд╕ рдХреЛ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рд╕рдЬрд╛ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗред рдпрджреНрдпрдкрд┐ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд▓реЗрдЦ рдХреЗ рдкрд┐рдЫрд▓реЗ рднрд╛рдЧ рдХреЛ рджреЗрдЦреЗрдВред

8. рд╕рджрд╕реНрдпрддрд╛ред

Java.util.List рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ ArrayList рдФрд░ LinkedList рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реИрдВ, рдХреА рдПрдХ рдЕрджреНрднреБрдд рд╡рд┐рдзрд┐ рд╣реИ: List.subList ()ред рдпрд╣ рдПрдХ рдирдИ рд╕реВрдЪреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдкреНрд░рддреАрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕ рд╕реВрдЪреА рдХрд╛ рдПрдХ рджреГрд╢реНрдп рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛, рддрд╛рдХрд┐ рджреЛрдиреЛрдВ рд╕реВрдЪреА рд╕рдВрдЧреНрд░рд╣реАрдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░ рджреЗрдВред рдЗрд╕рд╕реЗ рдЙрддреНрдХреГрд╖реНрдЯ рдЧреБрдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:

 someList.subList(3, 7).clear(); 


рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдХреБрдЫ рдПрд▓рд┐рд╕реНрдЯ рдХреА рд╕реВрдЪреА рд╕реЗ рддреАрд╕рд░реЗ рд╕реЗ рд╕рд╛рддрд╡реЗрдВ (рд╕рдорд╛рд╡реЗрд╢реА рдирд╣реАрдВ) рдХреЗ рдЪрд╛рд░ рддрддреНрд╡реЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

 import static java.util.Arrays.*; // ... List<Integer> theNumbers = asList(4, 8, 15, 16, 23, 42); int size = theNumbers.size(); for (Integer number : theNumbers.subList(0, size - 1)) { System.out.print(number + ", "); } System.out.println(theNumbers.get(size - 1)); 


рдЙрдирдХреЗ рд╕рд╛рд░ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ (рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рджреЗрдЦреЗрдВ) рдХреЗ рдХрд╛рд░рдг рдЙрдк-рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреА рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

9. рдХреИрдлреЗ рдмреЗрдмред

рд╕рднреА рд╕рдВрдХрд▓рд┐рдд рдХрдХреНрд╖рд╛рдПрдВ рдФрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .class рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╡реЗ рдЬрд╛рд╡рд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдП рдЧрдП рдмрд╛рдпрдЯреЗрдХреЛрдб рд╣реЛрддреЗ рд╣реИрдВред рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдирдореЗрдВ рдкрд╣рд▓реЗ рдЪрд╛рд░ рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ, рдПрдХ рд▓реЗрдмрд▓ рдЬреЛ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: 0x CAFEBABE ред

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

10. рдЕрд╕рд╛рдзрд╛рд░рдг рд╕реНрдерд┐рддрд┐рдпреЛрдВред

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдХреЛрдб рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рдЯреБрдХрдбрд╝рд╛:

 try { throw null; } finally { return; } 


рдпрд╣ рдПрдХ NullPointerException рдлреЗрдВрдХрддрд╛ рд╣реИ рдФрд░ ... рдЦреЛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдЯреНрд░реЗрд╕ рдХреЗ рдмрд┐рдирд╛ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ! рд╕рддрд░реНрдХ рд░рд╣реЗрдВред

Source: https://habr.com/ru/post/In133357/


All Articles