�@ |
|
�@ |
�@ |
Generics |
�@ | ||||||||||
�@ |
|
�@ | ||||||||||
�@ |
Generics �͂��łɎG���Ȃǂʼn���L����������Ă���̂ł����m�̂������������Ǝv���܂��B Generics �Ƃ����̂� C++ �̃e���v���[�g�@�\�̂悤�ȋ@�\�ŁA�ЂƂ��Ƃł����N���X (�C���^�t�F�[�X)�A���\�b�h�̃p�����[�^���Ƃ������Ƃ��ł��܂��B �Ƃ����Ă��悭������Ȃ��ł��ˁB ����ł͎��ۂɗ�������܂��傤�B �R���N�V�����͗v�f�� Object �N���X�̃I�u�W�F�N�g�Ƃ��ĕێ����邽�߂ɁA�g���Ƃ��ɂ͂��������L���X�g���s��Ȃ��Ă͂����܂���B
�Ō�̍s�͔��ɏX���Ȃ��Ă��܂��܂��B Generics ���g���Ƃ��̂悤�ɂȂ�܂��B
�ƂĂ��������肵�܂����B 1 �s�ڂ� <Integer> �Ƃ����̂� Generics �̕\�L�ł��B����͂ǂ������Ӗ����Ƃ����ƁA<Integer> �ŏC�����ꂽ List �I�u�W�F�N�g�͕ێ�����v�f�����ׂ� Integer �I�u�W�F�N�g�ɂȂ�Ƃ������Ƃ������Ă��܂��B���̂��߃L���X�g������Ȃ��Ȃ��Ă���̂ł��B �����߂ɂ̓L���X�g������Ȃ��Ȃ��������ł����A�v���O�����̕ێ�Ƃ����ϓ_���炷��Ƃ����Əd�v�ȓ_������܂��B ���Ƃ��Ύ��̃R�[�h�͖��Ȃ��R���p�C���ł��܂��B
�������A��������s����Ɠ�����O�ł��� ClassCastException ���������Ă��܂��܂��B
�悤����ɂ��̊ԈႢ�̓v���O���������s���Ȃ����蔭������Ȃ��̂ŁA�f�o�b�O���ʓ|�ɂȂ�܂��B�R���p�C�����Ƀ`�F�b�N�ł���A�����Ƃ����܂ɏC���ł���̂ł���... ����� Generics ���g�p������̂悤�ɏ������Ƃ��ł��܂��B
������R���p�C�����܂��B
�R���p�C�����ɃR���p�C���G���[���o�邽�߁A�܂��������v�f��ێ������悤�Ƃ��Ă������Ƃ������킩��܂��B������Ƃ����Ⴂ�̂悤�ȋC�����܂����A���ꂪ�ێ琫�ɂ͑傫�ȈႢ�ɂȂ�̂ł��B Generics �� JCP �ŕW�������肳��Ă��܂��BJSR-014 �Ȃ̂ł����Ԃ������� JCP �ɓo�^���ꂽ�̂ł����A�Ȃ��Ȃ��܂Ƃ܂�܂���ł����B����� Tiger �ŃR�A�ɂƂ肱�܂�܂��B Generics �̎d�l�� JCP ����_�E�����[�h�ł��܂��B JSR-014 Add Generic Types To The Java Programming Language http://jcp.org/en/jsr/detail?id=14 �Ȃ�ׂ��A�ŐV�̏���ǂ������Ă������Ƃ͎v���Ă��܂����A��������Ă��镔��������܂����烁�[�����������B
|
�@ |
�@ |
|
�@ | ||||||||||||||
�@ |
Generics �̎g�������ȒP���Ƃ������Ƃ͈�Ԃ͂��߂̗Ⴉ�番����Ǝv���܂��B�����ł́A��������������Ȃ���A����������Ǝg���������Ă����܂��傤�B �܂��̓R���N�V�����֘A�Ŏg���Ă݂܂��傤�B�R���N�V������ Generics �ɂ���Ă����Ƃ��ω����������Ȃ̂ŁA�������}������������v�B
List �͂��߂̗�� List �C���^�t�F�[�X�� ArrayList �N���X�̗�ł��B�P�ɕ�����̘A��������Ă��܂��B���܂ł̏������ł͎��̂悤�ɂȂ�܂��B���Ȃ݂ɃN���X���� WO �� without �̂��Ƃł��B
����� Generics �ŏ����Ǝ��̂悤�ɂȂ�܂��B�Ԃ̕����� Generics �̐錾�����ł��B
���X�g�ɗv�f��lj�����Ƃ��ɂ̓p�����[�^�̌^ (�����ł� String) �ł��邩�ǂ����`�F�b�N����܂��B�t�ɁAGenerics ���g����Ƃ��ɁAGenerics ���g��Ȃ��ŃR���p�C�������
�ƕ\������܂��B-warnunchecked �I�v�V���������ăR���p�C�������
�ƕ\������āA�^�`�F�b�N����Ȃ����Ƃ��x������܂��B get ����Ƃ��ɃL���X�g������Ȃ��̂́A�O�q�̒ʂ�B
Iterator ���� Iterator �C���^�t�F�[�X���g�p������ł��B���܂ł̋L�q�����Ǝ��̂悤�ɂȂ�܂��B
Collection#iterator ���\�b�h�͖߂�l���p�����[�^�����ꂽ Iterator �I�u�W�F�N�g�ɂȂ�܂��BGenerics �ŏ����Ȃ�����
�L���X�g������Ȃ��Ƃ����̂́A�����Ԃ�y�ɂȂ�܂��B�ق�ƂɁB
����q�p�����[�^ ���āA���� 2 �d���X�g������Ă݂܂��傤�B���X�g�̗v�f�����X�g�Ƃ������X�g�ł��B���̃v���O�����̓g�����v�̃J�[�h�����Ƃ�����ł��B
�v�f�����o���̂� 2 ����L���X�g����K�v������܂��B�ʓ|�������ł����A������ɂ����ł��ˁB ����� Generics �ŏ����Ǝ��̂悤�ɂȂ�܂��B2 �d���X�g�Ȃ̂ŁA�p�����[�^�̒��Ƀp�����[�^�������N���X������Ƃ�������q�\���ɂȂ��Ă��܂��B
Generics ���g������`�̕�����������ƌ��ɂ�����������܂���B�����i���ł�����܂��� ^^;; �錾�� 1 ���ł����Aget ����͉̂��x�����邩������Ȃ��̂ł��B get �̕����̊Ȍ����͊����I�ł��B
�����p�����[�^ �p�����[�^�̓���q���ł��邱�Ƃ͕�����܂����̂ŁA�����̃p�����[�^�̗�����Ɏ����܂��傤�B �p�����[�^�� 2 �g�����̂Ƀ}�b�v������܂��B�}�b�v�͂����m�̂悤�ɃL�[�ƒl�̃y�A�ɂȂ�܂����A���̗����Ƃ��p�����[�^�Ƃ��邱�Ƃ��ł��܂��B �܂��͍��܂ł̏������B
Generics �ŏ������������̂����ł��B�����̃p�����[�^������ꍇ�̓J���}�ŋ���ď����܂��B
Generics ���g���� put ���\�b�h�Ō^�`�F�b�N���s���܂��B�L�[�ƒl�̗����Ƃ��`�F�b�N����܂��B �܂��Aget ����Ƃ����L�[�̌^�`�F�b�N���s���܂��B �ǂ��ł����AGenerics ���g���̂�����Ȃɖʓ|�ł͂Ȃ����Ƃ��������肾�Ǝv���܂��B���͏������@�I�Ȃ��ƂׂĂ݂܂��傤�B
|
�@ |
�@ |
|
�@ | |||||||||||||||
�@ |
���܂ł͂��܂�l���邱�ƂȂ� Generics ���g���Ă��܂������A���낢��ƋC�ɂȂ�Ƃ��������܂��B�������`�F�b�N���Ă݂܂��傤�B
�Ȃɂ��p�����[�^�Ƃł��邩 ���܂ł̗�݂͂ȃp�����[�^�Ƃ��ăN���X�������̓C���^�t�F�[�X���g�p���Ă��܂����B���ꂶ��A����Ȃ̂�
�p�����[�^�Ɏg�p�ł���̂͂����܂ł��A�N���X���C���^�t�F�[�X�����Ńv���~�e�B�u�^�͎g�p�ł��܂���B�������A���b�p�[�N���X���g�p���邱�Ƃ͂ł��܂��B �������A����Ƀp�����[�^�̐��𑝂₷���Ƃ��ł��܂���List �C���^�t�F�[�X�̃p�����[�^�� 1 �����Ȃ̂ŁA���̗�͊ԈႢ�ł��B
�p�����[�^�����ꂽ�N���X�͌��̃N���X�Ƌ�ʂ����̂� C++ �̃e���v���[�g�̓p�����[�^�������ƁA�Ⴄ�N���X�Ƃ��ĔF������܂��BJava �ł͂ǂ��ł��傤�B ���̗�Ŋm���߂Ă݂܂��傤�B
�����������s�B
����A�ꏏ���B ���ꂶ��A����Ȃ��Ƃ��ł���̂ł��傤���B
������R���p�C������ƁA����ς�_���ł��� ^^;;
�N���X�͓����Ȃ̂ɑ���ł��Ȃ��Ƃ����̂��ςȊ����ł����A�܂�������O�ł��傤�B ���ꂶ��A�p�����[�^�����Ă��Ȃ��I�u�W�F�N�g�ɑ�����Ă݂܂��傤�B���Ȃ݂Ƀp�����[�^�����Ă��Ȃ����̂� Raw �^�C�v�Ƃ��������ł��B
������R���p�C�������
�p�����[�^�����ꂽ�I�u�W�F�N�g���p�����[�^�����Ă��Ȃ��I�u�W�F�N�g�ɑ�����邱�Ƃ� OK �̂悤�ł��B�t�͌x�����o�Ă���̂ŁA���܂��������߂ł��܂���B �p�����[�^�����Ă��Ȃ��I�u�W�F�N�g�ɑ�����Ă��^�`�F�b�N�͂����ƍs���Ă���悤�ł��B�܂��A�L���X�g���g���K�v���Ȃ��悤�ł��B �܂��A����킵���̂ł��������g�����͂�߂Ă����������������Ƃ͎v���܂����B
�L���X�g�͂ł��邩 ������ł����̂ŁA�L���X�g�������Ă݂܂��傤�B
�����A�Ō�� List<String> �̓_�����Ǝv���܂����AList �ւ̃L���X�g�͂ǂ��ł��傤���B���������A�R���p�C���B
List �ւ̃L���X�g�͑���̗\�z�ʂ���v�ł��BList<String> �ւ̃L���X�g�͂���ς�_���ł��ˁB
�p�����[�^�����ꂽ�N���X��h���ł��邩 �p�����[�^�����ꂽ�Ƃ��Ă��A�N���X�Ƃ��Ĉ�����悤�Ȃ̂ŁA����Ȃ��Ƃ��ł��邩�ǂ��������Ă݂����Ȃ�܂����B
�悤����Ƀp�����[�^�����ꂽ�N���X��h���ł��邩�A�������̓p�����[�^�����ꂽ�C���^�t�F�[�X���C���v�������g�ł��邩�Ƃ������Ƃł��B �R���p�C�����Ă݂�ƁA���̂悤�ɂȂ�܂����B
�h�������������Ɋւ��Ă̓R���p�C���G���[�͏o�Ă��Ȃ��悤�ł��BA �͕��ʂ̃N���X�̂悤�Ɍ����܂����A�����ƌ^�`�F�b�N��L���X�g���s�v�ɂȂ��Ă��܂��B10 �s�ڂƁA11 �s�ڂ��R�����g�A�E�g���Ď��s���Ă݂�Ƃ����Ǝ��s�ł��܂����B �C���^�t�F�[�X�ł�����Ă݂܂����B�悭������Ȃ��̂� next ���\�b�h�̖߂�l�ł��B���X�� Iterator �C���^�t�F�[�X�̏ꍇ�̖߂�l�� Object �^�ł��B�ł��A�p�����[�^��������p�����[�^�̌^�ɂȂ�͂�������ł��B
�Ƃ肠�����A���̂܂܂ŃR���p�C�����Ă݂܂��傤�B
��͂�Anext ���\�b�h�̖߂�l�̓p�����[�^�� String �ɂȂ�悤�ł��B�����ύX���Ď��s���Ă݂��
�Ƃ����Ǝ��s�ł��܂����B �������A���̂悤�Ƀp�����[�^�����ꂽ�N���X��C���^�t�F�[�X��h���E�C���v�������g���Ă����܂�Ӗ�������܂���B��������p�����[�^�������܂ܒ�`�����ق��������Ǝv���܂��B�Ƃ����킯�ŁA������͎��ۂɎ����Ńp�����[�^�������N���X������Ă݂܂��傤�B
|
�@ |
�@ |
|
�@ | |||||||||
�@ | ���܂ł͎g�������肾�����̂ł����A��������� Generics �𗘗p���ăN���X�A�C���^�t�F�[�X�A���\�b�h������Ă݂܂��傤�B
�N���X�̃p�����[�^�� �܂��̓N���X�A�C���^�t�F�[�X����ł��B�N���X�A�C���^�t�F�[�X�̏ꍇ�A�N���X�̒�`�̕����ŃN���X���A�C���^�t�F�[�X���̒���� <T> �̂悤�Ƀp�����[�^�����Đ錾���܂��B�ʂɃp�����^�[�̌^���� T �łȂ��ăi���ł������̂ł����A����I�ɂ̓A���t�@�x�b�g�̑啶�� 1 �������g�p���邱�Ƃ������ł��B
�N���X�̒��ł̓p�����[�^�̌^�͕��ʂ̌^�Ƃ��Ďg�p���邱�Ƃ��ł��܂��B���̂��߁A�v���p�e�B��\�b�h�̈����A���\�b�h�̖߂�l�A�e���|�����ϐ��ȂǂɎg�p���邱�Ƃ��ł��܂��B �C���^�t�F�[�X�ł����l�ł��B
�h���N���X��C���^�t�F�[�X�̃C���v�������g���ł��܂��B
�ȒP�ł���B ���������Ƌ��������ƂɃ��C���h�J�[�h��������̂ł��B���C���h�J�[�h�� ? �ŕ\�킵�܂��B
<? extends T> �Ƃ����̂́uT �̔h���N���X��������Ȃ�ł������v�Ƃ������Ƃł��B<? super T> �Ƃ����������� T �̃X�[�p�N���X��������Ȃ�ł������Ƃ������Ƃł��B�����Ƃ��C���^�t�F�[�X���g�����Ƃ��ł��܂��B �Ƃ͂������̂� List<? extends T> �� List<T> �ɃL���X�g����ƃR���p�C�����Ɍx������܂��B �܂��A�P�� <?> �Ə����Ă��ׂẴN���X�Ƃ������������ł��܂����A����̓p�����[�^���������\�b�h�Ŏg���邱�Ƃ������̂ŁA�܂���Ő������܂��B ������Ǝ����Ă݂܂��傤�B
A �N���X�̔h���N���X�� B�B���̔h���N���X�� C ��p�ӂ��āAEverything �N���X�� get/set ���\�b�h���R�[�����Ă݂�Ƃ�����ł��B ������R���p�C�������
�G���[�� 2 �ŁA�x���� 1 �B�x���͑O�q�����悤�� List<? extends T> �� List<T> �ɃL���X�g�������Ƃɂ��܂��B �G���[�� List<? extends B> �����҂���Ă����Ƃ���� List<A> �������Ƃ����̂� 1 �BA �� B �̃X�[�p�N���X�Ȃ̂ł���͂��߂ł��B ���� List<? super B> �����҂���Ă����Ƃ���� List<C> �������Ƃ������Ƃł��BC �� B �̔h���N���X�Ȃ̂ł���ς�_���ł��ˁB
���\�b�h�̃p�����[�^�� ���āA���̓��\�b�h�̕��ł��B�N���X���p�����[�^������Ă��Ȃ��Ă��A���\�b�h�������p�����[�^�����邱�Ƃ��ł��܂��B ���\�b�h���p�����[�^������ɂ� public �� private �� static �Ȃǂ̌�A�߂�l�̑O�� <�p�����[�^��> ���L�q���܂��B �N���X�̏ꍇ�̓N���X���̌ゾ�����̂ɑ��A���\�b�h�ł̓��\�b�h���̑O�ɂȂ�܂��B ���̗�� java.util.Collections �N���X�� fill ���\�b�h�̒�`�ł��B
T ���p�����[�^�ƂȂ�^�ł��B���\�b�h�̒��ł� T �͕��ʂ̌^�̂悤�Ɏg����̂̓N���X�̂Ƃ��Ɠ��l�ł��B java.util.Collections �N���X�� java.util.Arrays �N���X�̂悤�� static ���\�b�h����̃N���X�̓C���X�^�������Ȃ��̂ŁA���̂悤�Ƀ��\�b�h���p�����[�^�����邱�Ƃ������悤�ł��B ��قǂƓ��l�Ƀ��C���h�J�[�h��p���邱�Ƃ��ł��܂��B���̗�͓����� Collections �N���X�� copy ���\�b�h�ł��B
T �̔h���N���X�� T �̃X�[�p�N���X�ɂ̓R�s�[�ł���Ƃ������Ƃł��B �P�Ȃ郏�C���h�J�[�h���g���܂��B���̏ꍇ�͂ǂ�ȃN���X�ł������̂ŁA�߂�l�̑O�̃p�����[�^�\�L�͕K�v����܂���B ���C���h�J�[�h�̗�Ƃ��� Collections �N���X�� reverse ���\�b�h�ł��B���X�g�̕��я���ς��邾���Ȃ̂ŁAList �̗v�f�͂ǂ�ȃN���X�̃I�u�W�F�N�g�ł������킯�ł��B
���\�b�h�������p�����[�^�����邱�Ƃ͂��܂�Ȃ���������܂��Astatic ���\�b�h�����̃��[�e�B���e�B�N���X�Ȃǂŏd�����ł��B |
�@ |
�@ |
|
�@ | |||
�@ | ���܂ŗ�ɂ��� Generics �̎g�����͂��ׂăN���X/�C���^�t�F�[�X�ɑ��� Generics �ł����B�Ƃ����̂����\�b�h�̕��͒�`�̎d����������Ă���o�Ȃ��ƁA�g������������ɂ����Ǝv��������ł��B �O�͂Ńp�����[�^���������\�b�h�̏��������������̂ŁA���������g���Ă݂܂��傤�B �p�����[�^������Ă��郁�\�b�h���R�[������ꍇ�̓��\�b�h���̑O�� <�N���X�� or �C���^�t�F�[�X��> �������悤�ɂ��܂��B�N���X�̏ꍇ�͌�낾�����̂ł����A���\�b�h�͋t�ɑO�ł��B �܂��́A��قǂ� Collections#replaceAll ���\�b�h���g���Ă݂܂��傤�B
�Ԃ̕������p�����[�^���������\�b�h�ł��B���\�b�h���̑O�� <Integer> �����邾���Ō�͕��ʂ̃��\�b�h�Ɠ��l�ɃR�[�����邱�Ƃ��ł��܂��B Collections#copy ���g���Č��܂��傤�B
�N���X�̎��͒P�ɃX�[�p�N���X���g���Ă݂��̂ŁA�����ł̓C���^�t�F�[�X���g���Ă݂܂������A���Ȃ��g���Ă��܂��B �Ō�� Collections#reverse �ł��B�P�Ƀ��C���h�J�[�h���g�p�������\�b�h�̓p�����[�^�̕\�L���s���Ă��܂���ł����B�g���Ƃ������l�ŁA�܂��������ʂ̃��\�b�h�Ɠ����悤�Ɏg�����Ƃ��ł��܂��B
|
�@ |
�@ |
|
�@ | ||
�@ | �v���O����������ł͂��܂�W�Ȃ���������܂��AGenerics �����邱�Ƃɂ���Ă���������d�l��N���X�t�@�C���̍\�����ύX����Ă��܂��B
�V�t�g���Z�q�� Generics Generics ������q�ɂȂ��Ă���� List<List<String>> �Ȃ�Ăӂ��� >> �Ƃ����̂��o�Ă��邱�Ƃ�����܂��B�ł��A�悭�l�����炱��̓V�t�g���Z�q�ł��ˁB3 �d�ɓ���q�ɂ����� >>> �ƂȂ��Ă��܂��܂��B������V�t�g���Z�q�ł��B Generics ���������ꂽ���ߌ���d�l���ύX����āA>> �� >>> �Ƃ������V�t�g���Z�q�� Generics ����ʂ����悤�ɂȂ�܂����B
�߂�l�����Ⴄ���\�b�h�̃I�[�o���C�h ���܂ł͖߂�l�����Ⴄ���\�b�h��h���N���X���I�[�o���C�h���邱�Ƃ͂ł��܂���ł����B ���Ƃ��A���̂悤�ȃv���O�����͂ǂ��ł��傤�B
Y �N���X�ł� foo ���\�b�h�̖߂�l�� X �N���X�̂���ƈقȂ� Integer �N���X�ɂȂ��Ă��܂��B������]���� javac �ŃR���p�C������ƁA
���R�̂��Ƃ��G���[���o�܂��B�Ƃ��낪 Generics �����邱�ƂŁA�X�[�p�N���X�̃��\�b�h�̖߂�l�̃N���X�̔h���N���X�ł���A�h���N���X�Ń��\�b�h���I�[�o���C�h���Ă����悤�ɂȂ�܂����B ��قǂ̗Ⴞ�ƁAInteger �N���X�� Number �N���X�̔h���N���X�Ȃ̂ŁA�R���p�C���ł��邱�ƂɂȂ�܂��B
|
�@ |
�@ |
|
�@ | |||
�@ | J2SDK ���ƕ�����Ȃ��Ȃ��Ă��܂��܂����AEarly Access �ł��� java �� javac �� Windows �Ȃ�o�b�`�t�@�C���AUNIX ���ƃV�F���X�N���v�g�Ŏ�������Ă��܂����B ���Ƃ��� javac.bat �� java.bat �����Ă݂�ƁAjavac �̕��͂��낢��ƕύX���������Ă��܂��B�������Ajava �̕��� JAR �t�@�C���� 1 �lj�����Ă��邾���ł��B Windows �ł� java.bat �Ŏ��ۂ� Java �삳���镔���͎��̂悤�ɂȂ��Ă��܂��B
-Xbootclasspath/p: �Ƃ����̂̓R�A�̃��C�u������ǂݍ��ޑO�ɂ����Ŏw�肵�Ă��� JAR �t�@�C����ǂݍ��܂��邽�߂̃I�v�V�����ł��B �悤����� gjc-rt.jar �Ƃ��� JAR �t�@�C����ǂݍ���ł��邾���ŁAJVM �͑S�R�ύX����Ă��Ȃ��̂ł��B �Ƃ������Ƃ� javac �����őS���s���Ă���??? ���ꂶ��A��͂��Ă݂܂��傤�B���������Ƃ��ɖ𗧂̂��t�R���p�C���B����� Jad ���g���Ă݂܂����B ���̗�� Jad �ŋt�R���p�C�������Č��܂����B
Jad �̌��ʂ̓f�t�H���g�ł͊g���q�� jad �ƂȂ�܂��B�t�R���p�C���̌��ʂł��B
���ʂ̏������ɖ߂��Ă��܂� !! �v����ɁAjavac �ŃR���p�C������Ƃ��A�^�`�F�b�N���s���悤�ɂ��āAGenerics �̕����͈ȑO�̏������ɖ߂��Ă���Ă��邾���̂悤�ł��B�������Ǝv���܂���B ���̉�͂� Early Access �łōs���܂������AJ2SDK �ł��������ʂɂȂ�܂����BJVM ���ύX����Ă��Ȃ��̂͂������Ȃ悤�ł��B �������A�N���X�t�@�C���̍\���͕ω����Ă��܂��B�N���X��\�b�h�̒�`�����ɂ̓A�g���r���[�g�Ƃ����̈悪����̂ł����A������ Generics �̏�L�������悤�ɂȂ��Ă��܂��B
|
�@ |
�@ |
|
�@ | |||
�@ | Tiger �ł̓R�A���C�u������ Generics ���g���ď���������Ă��܂��B �ǂ�������������Ă���̂ł��傤���B�������ׂĂ݂܂��傤�B ���ׂ�̂ɕK�v�Ȃ̂� J2SDK, SE 1.5 �ɕt�����Ă���\�[�X�ł��B �\�[�X���� Generics ���g�p���Ă�����̂��o���̂͑�ςł��B�����ŁAEarly Access �łɕt������\�[�X����ύX����Ă�����̂�T���o���A���ꂪ J2SDK �łǂ��Ȃ��Ă��邩���ׂĂ݂܂����B �ύX����Ă���p�b�P�[�W�͎��̒ʂ�ł��B
���ɕύX�̑傫�� java.lang, java.lang.reflect, java.util �ɂ��Ē��ׂĂ݂܂��傤�B �܂� java.lang �p�b�P�[�W����ł��B
java.lang.lang �p�b�P�[�W�Ajava.lang.reflect �p�b�P�[�W ���� 2 �̃p�b�P�[�W�̕ύX�̓��t���N�V�����Ɋւ��镔���̕ύX�ł��B �܂� Class �N���X�ł��B Clas �N���X�̓p�����^�[�������悤�ɂȂ�܂����B���������āA���̂悤�ȏ��������ł��܂��B�������AObject#getClass ���\�b�h�̖߂�l�� Class<? extends Object> �ƂȂ��Ă���̂ŃL���X�g���K�v�ł��B
newInstance ���\�b�h�̖߂�l�������I�Ƀp�����[�^�����ꂽ�N���X�ɂȂ�̂ŃL���X�g���K�v�Ȃ��Ȃ�܂��B ���l�� getConstructor ���\�b�h���߂�l�� Constructor<T> �ɂȂ�܂��B ���̌��ʁAConstructor �N���X���p�����[�^������Ă��܂��B��͂�AnewInstance ���\�b�h�̖߂�l���p�����[�^�̃N���X�ɂȂ�̂ŁA�L���X�g���v��Ȃ��Ȃ�܂��B
java.util �p�b�P�[�W ��ԁA�ύX���傫���̂� java.util �p�b�P�[�W�̃R���N�V�����֘A�̃N���X�ł��B ��{�I�ɁACollection �C���^�t�F�[�X�̔h���N���X�AMap �C���^�t�F�[�X�̔h���N���X�͂��ׂăp�����[�^������Ă��܂��BCollection �C���^�t�F�[�X��
Map �C���^�t�F�[�X��
�ƂȂ��Ă��܂��BIterable �C���^�t�F�[�X�Ƃ����̂͐V�����������ꂽ�C���^�t�F�[�X�ŁA�g�� for ���Ŏg�p����܂��B �܂��AIterator �C���^�t�F�[�X���p�����[�^������Ă��܂��B Collections �N���X�� Array �N���X�̓p�����[�^������Ă͂��܂��A������ static ���\�b�h���p�����[�^������Ă��܂��B
|
�@ |
�@ |
|
�@ | ||
�@ | Generics �g�������ƁA���܂ł̋�J�͂Ȃ����Ƃ����ӂ��ɂȂ�܂��B�y���J���`���[�V���b�N��Ԃł� ^^;; �Ƃ��낪�A�g���o���Ƃ�����߂��܂���B���܂ł̐����ɂ͖߂�Ȃ��̂ɂȂ��Ă��܂��܂����B ���܂ɁAJ2SE 1.4 �Ƃ��ŏ����Ƃ��ɁA�v�킸 Generics �ŏ����Ă��āA�u����͂����Ȃ��A���ǂ��Ȃ��Ắv�Ƃ������Ƃ������B ����� C++ �̃e���v���[�g�Ƃ̔�r�Ȃ��͍s���܂���ł������A�Q�l�����������܂����̂ŁA����������Q�Ƃ��������BJavaWorld �̋L���͂��Ȃ�Â��̂Ō���� Generics �Ƃ͐H������Ă��镔��������܂��B �Ȃɂ͂Ƃ�����AGenerics �͕֗��Ȃ̂ŁA���Ђ����p���B
����g�p�����T���v���͂�������_�E�����[�h�ł��܂��B �Q�l
(Oct. 2003) |
�@ |
�@ |
|
�@ |