java8

カテゴリ: ブログ一覧学習・研修

前回gitの紹介をした者です。

今回はjava8で増えた機能について紹介したいと思います。

 

java8で追加された機能で大きな点は下記になります。

・Stream

・Optional

・LocalDate

 

今回はstreamについて軽く説明してみます。

まずソースを見てみましょう

 

java7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
List<String> list = Arrays.asList("a","b","c","d");
 
for(String s: list) {
 
 if(s.equals("b")){
 
  s = "変換したよ";
 
 }
 
 System.out.println(s);
 
}
 
 
List<String> list = Arrays.asList("a","b","c","d");

for(String s: list) {

 if(s.equals("b")){

  s = "変換したよ";

 }

 System.out.println(s);

}

 

出力結果

a

変換したよ

c

d

 

java8

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
List<String> list = Arrays.asList("a","b","c","d");
 
list.stream()
 
.map(s1 -> {
 
 if (Objects.equals(s1, "b")) {
 
  return map = "変換したよ";
 
 }
 
 return map;
 
})
 
.peek(s2 -> System.out.println(s2));
 
 
List<String> list = Arrays.asList("a","b","c","d");

list.stream()

.map(s1 -> {

 if (Objects.equals(s1, "b")) {

  return map = "変換したよ";

 }

 return map;

})

.peek(s2 -> System.out.println(s2));

 

出力結果

a

変換したよ

c

d

 

java7では拡張for文でリストの中を表示していますが

java8ではstreamを使ってリストの中身を表示しています。

java8をまったく知らないと戸惑いますね、、

 

ほかにもjava8で変わった箇所は多いです。

皆さんも気になったら勉強してみるといいかもしれません!