明示的
日本語 | 明示的 |
英語 | explicit |
ふりがな | めいじてき |
フリガナ | メイジテキ |
はっきりと示すこと。
通常は「暗黙的」と対にして使用する。
ある処理が、普通は「暗黙的」に行ええるが、その場合は「暗黙的」に行えないため、処理を記述することを「明示的に記述する」と表現する。
たとえば、プリミティブ型の型変換を行う場合、int型からlong型への「ワイドニング変換」であれば、型変換が自動的(暗黙的)に行われるためキャストする必要はないが、int型からchar型への「ナローイング変換」の場合には、型変換が自動的(暗黙的)には行われないため、キャストする必要がある。この「キャストする」処理を記述することが「明示的に記述する」ということである。
また、場合によっては「暗黙的」に行われるにも関わらず、「明示的」に記述することもある。
上記の例であれば、ワイドニング変換を行う場合にもキャストを行う場合、わざと「明示的」にキャストを記述したことになる。
この場合、キャストは冗長であり、必要ない記述である。プログラムの量が増え、場合によってはバグを生みかねないが、もしプログラムが読みやすくなるのであればメリットとなりうる。
通常は「暗黙的」と対にして使用する。
ある処理が、普通は「暗黙的」に行ええるが、その場合は「暗黙的」に行えないため、処理を記述することを「明示的に記述する」と表現する。
たとえば、プリミティブ型の型変換を行う場合、int型からlong型への「ワイドニング変換」であれば、型変換が自動的(暗黙的)に行われるためキャストする必要はないが、int型からchar型への「ナローイング変換」の場合には、型変換が自動的(暗黙的)には行われないため、キャストする必要がある。この「キャストする」処理を記述することが「明示的に記述する」ということである。
また、場合によっては「暗黙的」に行われるにも関わらず、「明示的」に記述することもある。
上記の例であれば、ワイドニング変換を行う場合にもキャストを行う場合、わざと「明示的」にキャストを記述したことになる。
この場合、キャストは冗長であり、必要ない記述である。プログラムの量が増え、場合によってはバグを生みかねないが、もしプログラムが読みやすくなるのであればメリットとなりうる。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
public static void main( String[] args )
{
int i = 100;
// 「明示的」にキャストする例。
char ch = (char)i;
long l = (long)i;
// char型へのキャストは、ナローイング変換に
// なるため、キャストしないとコンパイルエラーに
// なります。なので、明示的にキャストする必要が
// あります。
// 逆に、long型へのキャストは、ワイドニング変換に
// なるため、キャストしなくてもコンパイルエラーには
// なりません。なので、明示的にキャストすると
// 冗長ということになります。
}
}
public class Sample
{
public static void main( String[] args )
{
int i = 100;
// 「明示的」にキャストする例。
char ch = (char)i;
long l = (long)i;
// char型へのキャストは、ナローイング変換に
// なるため、キャストしないとコンパイルエラーに
// なります。なので、明示的にキャストする必要が
// あります。
// 逆に、long型へのキャストは、ワイドニング変換に
// なるため、キャストしなくてもコンパイルエラーには
// なりません。なので、明示的にキャストすると
// 冗長ということになります。
}
}
// Sample.java public class Sample { public static void main( String[] args ) { int i = 100; // 「明示的」にキャストする例。 char ch = (char)i; long l = (long)i; // char型へのキャストは、ナローイング変換に // なるため、キャストしないとコンパイルエラーに // なります。なので、明示的にキャストする必要が // あります。 // 逆に、long型へのキャストは、ワイドニング変換に // なるため、キャストしなくてもコンパイルエラーには // なりません。なので、明示的にキャストすると // 冗長ということになります。 } }
「みだし」に含まれているページ
「解説」に含まれているページ
- ArithmeticException
- ArrayIndexOutOfBoundsException
- ArrayStoreException
- ClassCastException
- close
- IllegalArgumentException
- IndexOutOfBoundsException
- NoSuchElementException
- NullPointerException
- NumberFormatException
- RuntimeException
- StringIndexOutOfBoundsException
- this
- throw
- 「F」
- アップキャスト
- ガベージコレクション
- キャスト
- ナローイング変換
- ポリモーフィズム
- メソッド呼び出し変換
- 例外
- 型変換
- 投げられる
- 投げる
- 明示的
- 暗黙的