たとえば、BST にノードを追加する以下の関数では、暗黙的な参照のみを使用しています。関数の開始時に変数 TreenNode node = .. を明示的に宣言し、適切な場所で使用することもできました。今、それが意見に基づいているかどうかはわかりません。OPTION2 よりも OPTION1 を使用することの長所または短所はありますか?
オプション1:
public void add(int item) {
if (root == null) {
root = new TreeNode(null, item, null);
return;
}
TreeNode node = root;
while (true) {
if (item < node.item) {
if (node.left == null) {
node.left = new TreeNode(null, item, null);
break;
}
node = node.left;
} else {
if (node.right == null) {
node.right = new TreeNode(null, item, null);
break;
}
node = node.right;
}
}
}
オプション 2:
public void add(int item) {
TreeNode nodeNew = new TreeNode(null, item, null); // explicit
if (root == null) {
root = nodeNew;
return;
}
TreeNode node = root;
while (true) {
if (item < node.item) {
if (node.left == null) {
node.left = nodeNew;
break;
}
node = node.left;
} else {
if (node.right == null) {
node.right = nodeNew;
break;
}
node = node.right;
}
}
}