→Java関連
→Java関連Tips
サブトピック†
Enum†
モジュールシステム†
ストリームAPI†
Optional型†
例外処理†
ラムダ式/メソッド参照†
static初期化子とインスタンス初期化子†
- http://www.genzou.sakura.ne.jp/class/inisharaiza_shokikasi.html
// static初期化子の例
public class MyTest {
static int[] hoge;
static {
hoge = new int[5];
for( int i = 0; i < 5; i++ ){
hoge[i] = i;
}
}
public static void main(String[] args){
for( int i = 0; i <hoge.length; i++) {
System.out.print(MyTest.hoge[i] + ",");
}
}
}
// インスタンス初期化子の例
public class MyTest {
static int[] hoge;
{
hoge = new int[5];
for( int i = 0; i < 5; i++ ){
hoge[i] = i;
}
}
public static void main(String[] args){
try {
MyTest m = new MyTest(); // インスタンス初期化子にはこれが必要
for( int i = 0; i <hoge.length; i++) {
System.out.print(MyTest.hoge[i] + ",");
}
} catch( Exception e ) {
System.out.print("例外発生:" + e.toString() );
e.printStackTrace();
}
}
}
可変個引数の例†
int sum(Integer... values){
int sum = 0;
for(int val : values){
sum += val;
}
return sum;
}
//呼び出し側
int sum = sum(1,2,3,4,5);
ジェネリクス関連†
リストを渡してリストを返すようなメソッドでジェネリックを使ってキャストしなくてもいいようにする†
public <T> List<T> hoge( List<T> list)
Cで言うmemsetに当たる処理†
import java.util.*;
:
byte[] buf = new byte[200];
Arrays.fill(buf,0x20);