回答編集履歴

1

s/実施的に/実質的に/g

2017/01/08 01:37

投稿

raccy
raccy

スコア21735

test CHANGED
@@ -246,7 +246,7 @@
246
246
 
247
247
 
248
248
 
249
- PersonComaratorByAgeクラスがなくなり、Colletions.sortの引数を渡すところで、同じ実装がそのまま書かれました。この場合ですと、使っているところで、どのようなソートをしているかの実装があるので、あ、年齢の若い順にソートか、とすぐにわかります。余計なクラス定義も無くなりますし、クラス管理もしなくても良くなります。他でも利用とかはできなくなりますが、もし、この場所で使わなければ、特に問題はありません。
249
+ PersonComaratorByAgeクラスがなくなり、Colletions.sortの引数を渡すところで、同じ実装がそのまま書かれました。この場合ですと、使っているところで、どのようなソートをしているかの実装があるので、年齢の若い順にソートか、とすぐにわかります。余計なクラス定義も無くなりますし、クラス管理もしなくても良くなります。他でも利用とかはできなくなりますが、もし、この場所で使わなければ、特に問題はありません。
250
250
 
251
251
 
252
252
 
@@ -330,7 +330,7 @@
330
330
 
331
331
 
332
332
 
333
- さて、匿名クラスおよびラムダ式でかけば、とてもすっきり書けることがわかったと思います。しかし、もう一つの利点があります。それは、**finalまたは実的にfinalなローカル変数を内部で使用できる**ということです。
333
+ さて、匿名クラスおよびラムダ式でかけば、とてもすっきり書けることがわかったと思います。しかし、もう一つの利点があります。それは、**finalまたは実的にfinalなローカル変数を内部で使用できる**ということです。
334
334
 
335
335
 
336
336
 
@@ -388,11 +388,11 @@
388
388
 
389
389
 
390
390
 
391
- しかし、Javaのクロージャーには制限があります。それは、変数がfinal、または、実的にfinalで無ければならないと言うことです。実的にfinalとは、宣言時にfinalがなくても、finalが付いているものとして見なすことができるものを言います。暗黙的なfinalがついていると言った方がいいでしょう。なお、実的にfinalなローカル変数に代入しようとすると、ラムダ式や匿名クラス内部での使用と矛盾するため、コンパイルエラーになります。(※5)
392
-
393
-
394
-
395
- ※5 このfinalまたは実的にfinalという制限は、Java特有のもので、ほとんどの言語のクロージャーではそのような制限がありません。そのため、私は個人的に、Javaのこの機能はクロージャーでは無く、クロージャー擬きと考えています。
391
+ しかし、Javaのクロージャーには制限があります。それは、変数がfinal、または、実的にfinalで無ければならないと言うことです。実的にfinalとは、宣言時にfinalがなくても、finalが付いているものとして見なすことができるものを言います。暗黙的なfinalがついていると言った方がいいでしょう。なお、実的にfinalなローカル変数に代入しようとすると、ラムダ式や匿名クラス内部での使用と矛盾するため、コンパイルエラーになります。(※5)
392
+
393
+
394
+
395
+ ※5 このfinalまたは実的にfinalという制限は、Java特有のもので、ほとんどの言語のクロージャーではそのような制限がありません。そのため、私は個人的に、Javaのこの機能はクロージャーでは無く、クロージャー擬きと考えています。
396
396
 
397
397
 
398
398