рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрд╛ рд╕рдкреНрддрд╛рд╣ рдпрд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХрд╛ рдПрдХ рджреБрд░реНрд▓рдн рдорд╛рдорд▓рд╛

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╣реИрдВ:

1 class A { 2 3 private B line; 4 5 public void foo() { 6 for (Integer line : line.getElements()) { 7 8 } 9 } 10 } 11 12 class B { 13 14 List<Integer> getElements() { 15 return null; // doesn't matter 16 } 17 } 


рдкреНрд░рд╢реНрди: рдХреНрдпрд╛ рдХреЛрдб рд╕рдВрдХрд▓рди рд╣реЛрдЧрд╛?
рдЙрддреНрддрд░: рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдирд╣реАрдВ рд╣реЛрдЧрд╛



рдЕрдм рдХреНрдпреЛрдВ рд╕рдордЭрд╛рддреЗ рд╣реИрдВред

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд▓рд╛рдЗрди 6 рдореЗрдВ рдХреНрд▓рд╛рд╕ рдлреАрд▓реНрдб рд╡реЗрд░рд┐рдПрдмрд▓ рд▓реВрдк рдХрд╛ рдПрдХ рдХрд╛рд▓рд╛рдкрди (рдЧреНрд░рд╣рдг) рд╣реИред рд▓реЗрдХрд┐рди, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ! рдордЬрд╝реЗрджрд╛рд░ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рднреБрдЧрддрд╛рди рдЖрдИрдбреАрдИ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рдВрдХрд▓рдХ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЧреЗрдЯрдПрд▓реНрд╕ () рд▓рд╛рдЗрди рд╕реЗ рдЧрд╛рдпрдм рд╣реИред

рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдкрдврд╝реЗрдВ:

рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдмрдврд╝рд╛рдпрд╛ рдЧрдпрд╛ рд░реВрдк рд╣реИ:

EnhancedForStatement:
рдХреЗ рд▓рд┐рдП (VariableModifiers рдЕрдкрдирд╛рдиреЗ рдХреЗ рдкреНрд░рдХрд╛рд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛: рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐) рд╡рдХреНрддрд╡реНрдп
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдпрд╛ рддреЛ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдлрд┐рд░ рдпрд╣ рдПрдХ рд╕рд░рдгреА рдкреНрд░рдХрд╛рд░ (must10.1) рдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдПрдХ рд╕рдВрдХрд▓рди-рд╕рдордп рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред
рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдиреНрд╣рд╛рдВрд╕ рдХрд┐рдП рдЧрдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рджрд╛рдпрд░рд╛ рдлреЙрд░реНрдорд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдмрдврд╝рд╛ рд╣реИ (a14.14) рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ


рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИрдВ:

рдХреЗ рд▓рд┐рдП (VariableModifiers рдЕрдкрдирд╛рдиреЗ рдХреЗ рдкреНрд░рдХрд╛рд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛: рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐) рд╡рдХреНрддрд╡реНрдп



рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдореЗрдВ рдШреЛрд╖рд┐рдд рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХрд╛ рджрд╛рдпрд░рд╛ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рддрдХ рдлреИрд▓рд╛ рд╣реБрдЖ рд╣реИред рдпрд╛рдиреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

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

рд╕рд╛рд╡рдзрд╛рди!

PS рдореИрдВрдиреЗ SO рдкрд░ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрди рдкреВрдЫрд╛ рдерд╛, рд╣рдо рдЕрдкрдбреЗрдЯ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдкреАрдкреАрдПрд╕ рдЬрд╛рд╡рд╛ 1.6.0.26 64 рдмрд┐рдЯ

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


All Articles