S-JIS[2008-05-21/2023-09-23] �ύX����

Java�̌^

Java�̌^�ɂ́A��{�I�Ȍ^�i�v���~�e�B�u�^�FPrimitiveType�j���Q�ƌ^�iReferenceType�j�i����сA�������^�inull type�j�j�����݂���B


�v���~�e�B�u�^�i��{�I�Ȍ^�j

�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

��{�I�ȃf�[�^�^
�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;
double d = 123.456d;
double d = 1.23456e2;
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


�Q�ƌ^

�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

�Q�ƌ^�̕ϐ��֑�������
���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

�i�Q�l�j�v���~�e�B�u�^�̕ϐ��֑�������
���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

�Q�ƌ^�Ŕ�r�����
���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�ϊ�
	}

�ϐ��̏������i�f�t�H���g�l�j

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

��\�I�Ȍ^�ϊ�
�ϊ�(�����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�Ђ炪�ȕϊ�


�����{�N�V���O

�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()���Ă΂��

Object�N���X�Ƃ̎����{�N�V���O

���Ȃ݂Ɂ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�́~)

�g�p��̒���

�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


Java�ڎ��֖߂� / �V�@�\�֖߂� / �Z�p�����֖߂�
���[���̑��M��F�Ђ�����

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@

�@