Java�̌^�ɂ́A��{�I�Ȍ^�i�v���~�e�B�u�^�FPrimitiveType�j���Q�ƌ^�iReferenceType�j�i����сA�������^�inull type�j�j�����݂���B
|
|
�R���s���[�^�[�iCPU�j�����R�Ɉ�����̂��v���~�e�B�u�^�B[2008-05-21]
boolean�Ƃ�char�͂����Ƃ������Ȃ����A�v���O��������̊�b�I�Ȍ^�Ƃ��ėp�ӂ���Ă���̂��낤�B
�v���~�e�B�u�^�̐����i�����^�FIntegralType�j��2�̕␔�\���Œl���ێ������B[2008-07-03]
���������_���^�iFloatingPointType�j��IEEE754�K�i�̐��l�^�B[2008-08-30]
�����l�i���e�����j�̏������i�\�����@�j
Java�̃v���~�e�B�u�^�ɂ́A�Ή��������b�p�[�N���X������B[2003-07-06]
�v���~�e�B�u�^�̓I�u�W�F�N�g�ł͂Ȃ��̂ŁA�i�I�u�W�F�N�g���������Ȃ��j�R���N�V�����Ɋi�[���鎞�Ȃǂɂ̓��b�p�[�N���X���g�p����B
�܂��A�v���~�e�B�u�^�ɑ�������i�{���v���~�e�B�u�^����ǂƂȂ�ׂ����j�i�ő�l�E�ŏ��l�Ƃ����ʂȒ萔�Ȃǁj�����b�p�[�N���X�ɒ�`����Ă���B
�i���Ȃ݂ɂ����̃��b�p�[�N���X�̂قƂ�ǂ́A���ʂ�Number�N���X����h�����Ă���j
�e�v���~�e�B�u�^�����r�b�g�Ȃ̂��́AJDK1.5�ȍ~�ł͊Y�����b�p�[�N���X��SIZE�Ƃ����萔�t�B�[���h�ŕ\������Ă���B[2010-03-23]
JDK1.8�ł�BYTES�Ƃ����萔�t�B�[���h����`����A���o�C�g�Ȃ̂����\������Ă���B[2014-03-19]
�i�Ⴆ��Intger.SIZE��32�r�b�g�AByte.SIZE��8�r�b�g�B����������int�̃o�C�g����Integer.BYTES��Integer.SIZE/Byte.SIZE��4�j
| �f�[�^�^ | ���� | �傫��[bit] | �l�͈̔� �i�ŏ��l�`�ő�l�j |
�f�t�H���g�l | ���l | ���b�p�[�N���X |
|---|---|---|---|---|---|---|
| void | �^���� | �@ | �@ | �@ | [2010-03-23] | java.lang.Void |
| boolean | �^�U�l | 1 | true , false | false | �����l(0��1�j�̑���̓G���[ | java.lang.Boolean |
| char | Unicode���� ���R�[�h�|�C���g |
16 | 0�`FFFF | 0000 | char c = '��';�S�p�����p���� |
java.lang.Character |
| byte | �����t������ | 8 | -128�`127 | 0 | �@ | java.lang.Byte |
| short | �����t������ | 16 | -32768�`32767 | 0 | �@ | java.lang.Short |
| int | �����t������ | 32 | -2147483648�`2147483647 ���ʂ�Integer.MIN_VALUE�`Integer.MAX_VALUE���g�p |
0 | �\�i����9���܂œ���int i = 999999999; |
java.lang.Integer |
| long | �����t������ | 64 | -9223372036854775808�`9223372036854775807 ���ʂ�Long.MIN_VALUE�`Long.MAX_VALUE���g�p |
0 | �\�i����18���܂œ���long l = 123456L; |
java.lang.Long |
| float | �������� | 32 | �P���x�i�L���������Œ�ł�6���j �g���Ȃ�Float.MIN_VALUE�`Float.MAX_VALUE |
0.0 | float f = 123.456F; |
java.lang.Float |
| double | �������� | 64 | �{���x�i�L���������Œ�ł�15���j �g���Ȃ�Double.MIN_VALUE�`Double.MAX_VALUE |
0.0 | double d = 123.456; |
java.lang.Double |
| - | �C�Ӑ��x���� | �@ | �����H�i�����j | �@ | �@ | java.math.BigInteger |
| - | �C�Ӑ��x�����t�\�i�� | �@ | �����H�i�����j | �@ | �@ | java.math.BigDecimal |
| - | ���q�I�X�V�\boolean | �@ | �@ | false | JDK1.5�ȍ~ | AtomicBoolean |
| - | ���q�I�X�V�\int | �@ | �@ | 0 | AtomicInteger | |
| - | ���q�I�X�V�\long | �@ | �@ | 0 | AtomicLong |
C����ƈقȂ�Aunsigned�i�����Ȃ��j�͑��݂��Ȃ��B
�����L�肩�������Ō��ʂ��قȂ�̂��E�V�t�g���Z�����A�����L��p�Ɩ����p�̓��ނ̉��Z�q���p�ӂ���Ă���i���Z�q�ɂ���ċ�ʂ���j�B
��JDK1.8�ŕ����Ȃ��������������\�b�h���lj����ꂽ
byte��short��int��long�Afloat��double�i�^�̑傫�����傫���Ȃ�����j�̑���͈Öق��ϊ������B�i�v���~�e�B�u�^�̃��C�h�j���O�ϊ��Fwidening
primitive conversion�j
�t�i�^�̑傫�����������Ȃ�����j�̑���́A�����I�Ɍ^���w�肵�Ȃ��ƃR���p�C���G���[�ƂȂ�B�i�v���~�e�B�u�^�̃i���[�C���O�ϊ��Fnarrowing
primitive conversion�j
int i = 123; double d = i; //�L���X�g�s�v
double d = 1.2; int i = (int)d; //�����I�ȃL���X�g���K�v
�������A�萔���Ɋւ��Ă̓R���p�C�����Ɏ����I�ɕϊ�����ăG���[�ɂȂ�Ȃ����Ƃ�����B[2008-04-07]
long l = 123L;
short s1 = (int)l; //�R���p�C���G���[
short s2 = (short)l; //���Ȃ��i�ʏ�̃L���X�g�j�ilong��short�փL���X�g�j
short s3 = (int)123L; //���Ȃ��i�萔���������ϊ����ꂽ�j�ilong��int�փL���X�g��short�֎����ϊ��j
Java�ł��v���~�e�B�u�^�̐����͕����t���ł���B[2014-03-19]
���AJDK1.8�ŕ����Ȃ������Ƃ��Ĉ������\�b�h�����b�p�[�N���X�ɒlj����ꂽ�B
| �� | ���� | ���l | ||
|---|---|---|---|---|
Integer.toUnsignedString(0xffffffff) |
4294967295 |
�����Ȃ������Ƃ��ĕ�������B | Integer.toString(0xffffffff) |
-1 |
Integer.parseUnsignedInt("4294967295") |
-1 |
�����Ȃ������Ƃ��ĕ�����int������B | Integer.parseInt("4294967295") |
NumberFormatException |
Integer.parseUnsignedInt("+1") |
1 |
Integer.parseInt("+1") |
1 |
|
Integer.parseUnsignedInt("-1") |
NumberFormatException |
Integer.parseInt("-1") |
-1 |
|
Integer.compareUnsigned(0xffffffff, 0x7fffffff) |
1 |
�����Ȃ������Ƃ��Ĕ�r����B | Integer.compare(0xffffffff, 0x7fffffff) |
-1 |
Short.toUnsignedInt((short)0xffff) |
65535 |
�����Ȃ������Ƃ���int������B | (short)0xffff |
-1 |
Integer.toUnsignedLong(0xffffffff) |
4294967295 |
�����Ȃ������Ƃ���long������B | (long)0xffffffff |
-1 |
Integer.divideUnsigned(0xffffffff, 2) |
2147483647 |
�����Ȃ������Ƃ��ď��Z����B | 0xffffffff / 2 |
0 |
Integer.remainderUnsigned(0xffffffff, 4) |
3 |
�����Ȃ������Ƃ��ď��Z�����]���Ԃ��B | 0xffffffff % 4 |
-1 |
Byte�EShort�EInteger�ELong�ɓ��l�̃��\�b�h���p�ӂ���Ă���B
���Z�ȊO�i���Z�E���Z�E��Z�j�̃��\�b�h���p�ӂ���Ă��Ȃ��̂́A���ʂ̉��Z�q���g���Ă��i���̌^�̃r�b�g���Ɏ��܂��Ă������́j��������E�����Ȃ��ő��Ⴊ�������炾�낤�B
�v���~�e�B�u�^�ȊO�́A�S���Q�ƌ^�B[/2008-05-21]
�u�Q�ƌ^�v�ƌĂ�闝�R�́A���Ԃ��b�����ł����Ƃ���̃|�C���^�[�i���Ȃ킿�g�Q�Ɓh�j������B
�i�܂�Q�ƌ^�̕ϐ����ێ�����l�́A�I�u�W�F�N�g�̓��e���̂��̂ł͂Ȃ��A�������[��Ɋi�[���ꂽ�I�u�W�F�N�g�̐擪�A�h���X�ɓ���������i�v���~�e�B�u�^�̕ϐ��ł́A�l���̂��̂�ێ����Ă���j�B�I�u�W�F�N�g���g���Ƃ��́A���̃A�h���X�����ɃI�u�W�F�N�g�փA�N�Z�X����B������g�Q�Ƃ���h�ƌĂ�ł���j
�N���X�i�C���X�^���X�E�I�u�W�F�N�g�j��������iString�j�E�z�����A�S�ĎQ�ƌ^�B
�Q�ƌ^���f�t�H���g�l��null�B
String�́A���[�U�[��`�^�i�N���X�j�B�R���p�C�������ƁA�����ł�Unicode�ň�����B
String���Q�ƌ^�Ȃ̂ŁA�f�t�H���g�l�͋���Ȃǂł͂Ȃ��Anull�B
�S�Ă̎Q�ƌ^��Object�N���X����h�����Ă���iObject�N���X���p�����Ă���j�B
| ���n�� | �\�[�X | �X�^�b�N | �q�[�v | ��� | |
|---|---|---|---|---|---|
| �ϐ�var1 | �ϐ�var2 | Object�C���X�^���X�̈� | |||
| 1 | Object var1 = null; |
null | - | - | ���[�J���ϐ�var1�̐錾 |
| 2 | Object var2 = null; |
null | null | - | ���[�J���ϐ�var2�̐錾 |
| 3 | var1 = new Object(); |
0xC000 | null | Object�C���X�^���X�i�����j �擪�A�h���X��0xC000�Ƃ��� |
�C���X�^���X����var1�ɑ�� |
| 4 | var2 = var1; |
0xC000 | 0xC000 | Object�C���X�^���X�i0xC000�j | var1�̒l��var2�ɑ�� �i�Q�Ƃ�n���Ă��邾���Ȃ̂ŁA�����C���X�^���X���w���j |
| 5 | var1 = null; |
null | 0xC0000 | Object�C���X�^���X�i0xC000�j | �@ |
| 6 | var2 = null; |
null | null | Ojbect�C���X�^���X�i0xC000�j | �@ |
| 7 | �@ | �@ | �@ | - | 0xC000�̃C���X�^���X���ǂ�������Q�Ƃ���Ȃ��Ȃ����̂� GC�ɂ��q�[�v����폜�����B |
| ���n�� | �\�[�X | �X�^�b�N | �q�[�v | ��� | |
|---|---|---|---|---|---|
| �ϐ�var1 | �ϐ�var2 | �@ | |||
| 1 | int var1 = 0; |
0 | - | - | ���[�J���ϐ�var1�̐錾 |
| 2 | int var2 = 0; |
0 | 0 | - | ���[�J���ϐ�var2�̐錾 |
| 3 | var1 = 123; |
123 | 0 | - | �l��var1�ɑ�� |
| 4 | var2 = var1; |
123 | 123 | - | var1�̒l��var2�ɑ�� |
| 5 | var1 = 0; |
0 | 123 | - | �@ |
| 6 | var2 = 0; |
0 | 0 | - | �@ |
| �@ | �@ | �@ | �@ | �@ | �v���~�e�B�u�^�̓q�[�v�Ƃ͉���W�Ȃ��B ����������GC�Ƃ����W�B |
| ���n�� | �\�[�X | �X�^�b�N | �q�[�v | ��� | ||
|---|---|---|---|---|---|---|
| �ϐ�var1 | �ϐ�var2 | 1�� | 2�� | |||
| 1 | String var1 = new String("abc"); |
0xC000 | - | String���� �A�h���X��0xC000�Ƃ��� |
- | ���[�J���ϐ�var1�̐錾 |
| 2 | String var2 = new String("abc"); |
0xC000 | 0xC100 | String�C���X�^���X�i0xC000�F"abc"�j | String���� �A�h���X��0xC100�Ƃ��� |
���[�J���ϐ�var2�̐錾 |
| 3 | if (var1.equals(var2)) �` |
0xC000 | 0xC100 | String�C���X�^���X�i0xC000�F"abc"�j | String�C���X�^���X�i0xC100�F"abc"�j | var1�̎Q�Ɛ�i0xC000�̒��g�j��var2�̎Q�Ɛ�i0xC100�̒��g�j���r �� ��v |
| 4 | if (var1 == var2) �` |
0xC000 | 0xC100 | String�C���X�^���X�i0xC000�F"abc"�j | String�C���X�^���X�i0xC100�F"abc"�j | var1�̒l�i0xC000�j��var2�̒l�i0xC100�j���r �� �s��v |
�X�[�p�[�N���X�̕ϐ��ւ̑���́A���ɖ��Ȃ��s����B�i�Q�ƌ^�̃��C�h�j���O�ϊ��Fwidening
reference conversion�j[2008-08-30]
�t�̑���i������_�E���L���X�g�j�͖����I�ȃL���X�g���K�v�B�i�Q�ƌ^�̃i���[�C���O�ϊ��Fnarrowing reference
conversion�j
�i���[�C���O�ϊ����������s���邱�Ƃ����O�`�F�b�N����ړI��instanceof���g����B
class C1 {
}
class C2 extends C1 {
}
C1 c = new C2(); //���C�h�j���O�ϊ�
if (c instanceof C2) {
C2 d = (C2)c; //�i���[�C���O�ϊ�
}
Java�ł́A���[�J���ϐ������������Ȃ��Ŏg�����Ƃ���i���������ꂸ�Ɏg����\��������j�ƁA�R���p�C���G���[�ɂȂ�i��{�I�ȃf�[�^�^�ł����Ă��j�B[2008-05-21]
�iC�����ł̓��[�J���ϐ������������Ȃ��ƒl���s��ƂȂ�ׁA���������Ȃ��̂͂��@�x�������j
�����[�J���ϐ����������̊���(?)
�������A�N���X�̃t�B�[���h�i�����o�[�ϐ��j�ŏ����l���w�肵�Ă��Ȃ��ꍇ��new�ō�����z����
�e�v�f���I�ɏ��������Ă��Ȃ��ꍇ���f�t�H���g�l���������B
�f�t�H���g�l�� ���ꂼ��̌^�ɂ���Ē�߂��Ă���B�iboolean�Ȃ�false�A���̑����v���~�e�B�u�^��0�A�Q�ƌ^��null�j
�I�u�W�F�N�g�i�Q�ƌ^�j����String�֕ϊ�����ɂ́AtoString()���\�b�h���悭�g����B[2008-05-21]
�S�ẴN���X�̐e�ł���Object�N���X�ɂ�toString()����`����Ă���A�p�������T�u�N���X�ł͂�����I�[�o�[���C�h����������iString�j�ւ̓Ǝ��̕ϊ��������s���^�s���Ă悢�^�s���̂��悢�B
String�����瑼�N���X�i����N���X�j�ւ̕ϊ��́A���b�p�[�N���X���^�ienum�j�ɕ����valueOf()����������c�̂��������Ȃ��B[/2009-12-31]
�N���X�ɂ���Ă�parse()�Ƃ�decode()�Ƃ����̂����邯�ǁB
�v���~�e�B�u�^�Ɋւ��鑀��́A�����Ă��Ή��������b�p�[�N���X�ɑ����Ă���B[2007-06-30]
���Ȃ݂ɂ����̃��b�p�[�N���X�̂قƂ�ǂ� ���ʂ�Number�N���X���p�����Ă���̂ŁA�Ⴆ��int�֕ϊ�����intValue()��Integer�ł�Long�ł�Double�ł�Byte�ł��g����B
���b�p�[�N���X�ɂ̓R���X�g���N�^�[�����邪�AJava9������ɂȂ����B[2021-03-21]
�����Ă���valueOf���\�b�h�ŃC���X�^���X������B
Java16�ŁA���b�p�[�N���X�̃R���X�g���N�^�[�͍폜�Ώہi�����폜�����j�ɂȂ����B
| �ϊ�(�����E) | �� | ���l | �X�V�� | ||||
|---|---|---|---|---|---|---|---|
| int | String | int i |
= |
Integer.parseInt(String) |
�S�p�����̐������ϊ��ł���B | �@ | |
new Integer(String).intValue() |
�ϊ��͏o���邪�A�����͍ň��B �Ȃ��Anew Integer()��Java9������B |
2021-03-21 | |||||
Integer.parseInt(String, 16) |
�\�Z�i���𐔒l�ɕϊ�����B�S�p�������ϊ��ł���B | 2021-09-19 | |||||
HexFormat.fromHexDigits(String) |
�\�Z�i���𐔒l�ɕϊ�����iJava17�ȍ~�j�B | 2021-09-19 | |||||
| Integer | String | Integer n |
= |
Integer.decode(String) |
�u0x�v�u#�v����n�܂�Ə\�Z�i���Ƃ��ĔF�����Ă����B | 2007-12-29 | |
| String | int | String s |
= |
Integer.toString(int) |
�@ | �@ | |
String#valueOf(int) |
�����ł�Integer#toString(int, 10)���Ă�ł���B |
�@ | |||||
"" + int |
JavaScript�ł͏퓅��i�����AJava�ł�StringBuilder���]�v�ɍ����̂ł��܂����B | 2008-05-22 | |||||
String.format("%d", int) |
JDK1.5�ȍ~�B0���߂⌅���w��i"%04d"�j���o����B | 2008-05-21 | |||||
"%d".formatted(int) |
Java15�ȍ~�B | 2023-09-23 | |||||
Integer.toBinaryString(int) |
��i�� | �@ | |||||
Integer.toOctalString(int) |
���i�� | �@ | |||||
String.format("%o", int) |
���i���iJDK1.5�ȍ~�j�B0���߂⌅���w��i"%04o"�j���o����B | 2008-05-21 | |||||
Integer.toHexString(int) |
�\�Z�i���B0���߂�String s = Integer.toHexString(b);if (b.length < 2) s = "0" + s;�Ƃ� |
2008-07-05 | |||||
String.format("%x", int) |
�\�Z�i���iJDK1.5�ȍ~�j�B0���߂⌅���w��i"%04x"�j���o����B | 2008-05-21 | |||||
HexFormat.of().toHexDigits(int) |
�\�Z�i���iJava17�ȍ~�j�B������8���Œ�B | 2021-09-19 | |||||
HexFormat.of().toHexDigits(long, int
keta) |
�\�Z�i���iJava17�ȍ~�j�B��2�����Ō������w��B | 2021-09-19 | |||||
Integer.toString(int, int n) |
n�i���ɑΉ��B�i��n�͐��̐��̂� | �@ | |||||
| String | double | String s |
= |
Double.toString(double) |
// Java18 jshell> Double.toString(2e23) $1 ==> "1.9999999999999998E23" // Java19 jshell> Double.toString(2e23) $1 ==> "2.0E23" |
2023-09-23 | |
String.format("%e",
double) |
jshell> String.format("%e", 2e23) $1 ==> "2.000000e+23" |
2023-09-23 | |||||
// Java20 jshell> String.format("%.16e", 2e23) $2 ==> "1.9999999999999998e+23" // Java21 jshell> String.format("%.16e", 2e23) $2 ==> "2.0000000000000000e+23" |
2023-09-23 | ||||||
String.format("%f",
double) |
// Java20 jshell> String.format("%f", 2e23) $1 ==> "199999999999999980000000.000000" // Java21 jshell> String.format("%f", 2e23) $1 ==> "200000000000000000000000.000000" |
2023-09-23 | |||||
"%f".formatted(double) |
Java15�ȍ~�B | �@ | |||||
| Integer | int | Integer n |
= |
new Integer(int) |
�iJDK1.5�ȍ~�ł́j-128�`127�Ȃ�AvalueOf()�̕����i�L���b�V������Ă���̂Łj�������g�p�����͗ǂ��B Java9�Ŕ��ɂȂ����B |
JDK1.5��������ڑ�����o����悤�ɂȂ����B | 2021-03-21 |
Integer.valueOf(int) |
JDK1.5�ȍ~�Ŏg�p�\�B | 2007-05-02 | |||||
| int | Integer | int i |
= |
IntegerObj.intValue() |
�@ | �@ | |
| boolean | String | boolean b |
= |
Boolean.parseBoolean(String) |
JDK1.5�ȍ~ | 2009-12-31 | |
| Boolean | String | Boolean b |
= |
Boolean.valueOf(String) |
�@ | 2009-12-31 | |
| Boolean | boolean | Boolean b |
= |
Boolean.valueOf(boolean) |
JDK1.4�ȍ~�i�萔�Ȃ�Boolean.TRUE�EBoolean.FALSE���g���̂������j |
2009-12-31 | |
| Date | String | �@ | �@ | �@ | �����t�iDate�j�̕�����iString�j�̕ϊ� | �@ | |
| String | Date | �@ | �@ | �@ | �@ | ||
��Boolean.getBoolean()��Integer.getInteger()�́A�ϊ��p�ł͂Ȃ��A�V�X�e���v���p�e�B�[�̎擾�p�B[2009-12-31]
�\�Z�i�������̐��l�ϊ� [2007-01-12]
char c = Character.forDigit(10, 16); // 'a'���Ԃ�
int n = Character.digit('a', 16); // 10���Ԃ�
int n = HexFormat.fromHexDigit('a'); // 10���Ԃ�iJava17�ȍ~�j[2021-09-19]
�������f [2007-01-12]
System.out.println(c + ":" + Character.isDigit(c) + "/" + Character.digit(c,16));
0:true/0 1:true/1 a:false/10 �P:true/1 �c�S�p�����������Ɣ��f����邵�A���l�ϊ����������s���� ��:false/-1 �c�������Ɋ��������͖���(���) ��:false/-1 �T:false/-1 �@:false/-1 ��:false/-1
��HexFormat.isHexDigit(c)�iJava17�ȍ~�j[2021-09-19]
�����p�J�^�J�i�̑S�p�J�^�J�i�̑S�p�Ђ炪�ȕϊ�
�v���~�e�B�u�^�����b�p�[�N���X�͕ʕ��Ȃ̂ł��݂��ɒ��ڑ�����邱�Ƃ͏o���Ȃ����AJDK1.5�����͏o����悤�ɂȂ����B[2007-05-02]
����������{�N�V���O�i�I�[�g�{�N�V���O�FAutoBoxing�j�ƌĂԁB
��Sun���I�[�g�{�N�V���O
Integer i = 123; //�I�[�g�{�N�V���O�i�{�N�V���O�ϊ��Fboxing conversion�j
int j = i; //�I�[�g�A���{�N�V���O�i�A���{�N�V���O�ϊ��Funboxing conversion�j
�i�R���p�C������ۂɂ��\�[�X�̃��x����1.5�ȏ��ɂ���K�v������j
�R���p�C���������̂��t�R���p�C�����Č���ƁA�����P���ϊ����\�b�h�ɒu���������Ă��邾���c�B
Integer i = Integer.valueOf(123); int j = i.intValue();
�Ȃ̂ŁA�R�[�f�B���O��͕֗������ǁA���s�����I�ɂ͋C�����������ǂ����B
�v���O���~���O����A�I�[�o�[���[�h����Ă��郁�\�b�h�ň����̈Ⴂ��int��Object�������ꍇ�Ƃ��́A�ǂ���̃��\�b�h���Ă�邩�C�����Ȃ��Ⴂ���Ȃ����낤�ȁB
Integer i = 123; System.out.println(i); //������Object�^��println()�����
���Ȃ݂ɁA�v���~�e�B�u�^����Object�N���X�ւ̃{�N�V���O������ɂ���Ă���邪�AObject����v���~�e�B�u�^�ւ̕ϊ��� ����Ă���Ȃ��B[2007-05-10]
Object obj = 123; //OK�i���̂�Integer�̃C���X�^���X�j int i = obj; //�R���p�C���G���[
int�֕ϊ�����intValue()�Ƃ�long�֕ϊ�����longValue()�Ƃ��́A���́gInteger��Long�̐e�N���X�ł���Number�N���X�h�̃��\�b�h�Ȃ̂ŁA�uint
i = ((Number)o).intValue();�v�Ƃ��ɕϊ����ăR���p�C�����邱�Ƃ͏o����͂��B
�����A���̂�Number�̔h���N���X�łȂ��ꍇ�͎��s���G���[�ɂȂ�i���s���Ă݂�܂ŕ�����Ȃ��j�̂ŁA�R���p�C���G���[�ɂ��Ă����̂�����Ȃ̂��ȁB
�inull���Ǝ��s����NullPointerException���N����炵�����j
Integer�ł��邱�Ƃ��������Ă���Ȃ�A�L���X�g���Ă����R���p�C���G���[�͏�����B[2008-07-21]
Object obj = 123; int i = (Integer)obj; //OK //�~ int i = (Number)obj; //Number����int�֕ϊ��ł��Ȃ��Ƃ����R���p�C���G���[ //�~ long l = (Long)obj; //�R���p�C���G���[�ɂ͂Ȃ�Ȃ����A���s����ClassCastException(Integer��Long�́~)
�v���~�e�B�u���m�Ȃ�==���Z�q�Ŕ�r���邪�A�I�[�g�{�N�V���O�ŕϊ����������b�p�[�N���X�Ƃ����I�u�W�F�N�g�i�Q�ƌ^�j�ɂȂ�̂ŁA==�Ŕ�r����Ȃ�āA�����Ă̑��B[2008-05-21]
public static void main(String[] args) {
{
System.out.print(127);
Integer i1 = 127;
Integer i2 = 127;
if (i1 == i2) {
System.out.println("�͓�����");
} else {
System.out.println("�͈قȂ�");
}
}
{
System.out.print(128);
Integer i1 = 128;
Integer i2 = 128;
if (i1 == i2) {
System.out.println("�͓�����");
} else {
System.out.println("�͈قȂ�");
}
}
}
���s���ʁF
127�͓����� 128�͈قȂ�
���Ō��ʂ��Ⴄ���Ƃ����ƁAint����Integer�ւ��unew
Integer()�v�łȂ��uInteger.valueOf()�v���g��������B
����́i����ł́j-128�`127�͈̔͂ł̓L���b�V�����ꂽInteger��Ԃ��悤�ɂȂ��Ă���̂ŁA���͈̔͂Ȃ瓯��̃C���X�^���X�ƂȂ�B������==�Ŕ�r���Ă��������Ȃ�B
���������͈̔͊O����new�ō��̂ŁA==�ł͈�v���Ȃ��B
���������킯�Ō����-128�`127�͈̔͂Ȃ���v��������Ȃ����A�����o�[�W�����ŕς���Ă��s�v�c�͖����̂ŁA==���g���ׂ��ł͂Ȃ��B
�Ƃ������N���X�iInteger�j�������I�Ɍ���Ă������A��������==�Ŕ�r���悤�Ƃ���Ȃ���Ęb�B
��Java����d�l��3��5.1.7���̒��Łu-128�`127�v�Ə�����Ă���̂ŁA���͈̔͂������Ȃ邱�Ƃ͖����Ǝv�����B[2008-08-30]
�t�̃I�[�g�A���{�N�V���O�ł́A���b�p�[�N���X����null�ɂȂ�Ȃ��悤�ɒ��ӁB[2008-05-21]
null���Ǝ��s����NullPointerException���������Ă��Ă��܂��B
Integer n = null;
int i = n; //NullPointerException
Map<String, Integer> map = new HashMap<String, Integer>();
int i = map.get("zzz"); //NullPointerException
Integer n = null;
n++; //NullPointerException
Integer n�ɑ���n++�́A���ۂɂ́uint temp = n.intValue(); temp++; n =
Integer.valueOf(temp);�v�Ƃ��������ɕϊ�����Ă���B
���[�v�̃J�E���^�[�Ƃ��Ɏg������A���炭���_���ȁc�B
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@
�@