Почему элемент Arraylist передается в метод в качестве параметра, если явно это не указано?
Не знаю можно ли тут публиковать такое, но я недавно начал изучение программирования и встретил вот такой код. Никак не могу понять - почему он работает:)Вызова метода paySalary нигде нет. В него не передаются никакие данные. Он только принимает в качестве входящих данных String name. Нигде явно не указано, что String name это элементы ArrayList и тем не менее программа работает...
package com.javarush.task.pro.task12.task1209;
import java.util.ArrayList;
public class Solution {
public static ArrayList<String> waitingEmployees = new ArrayList<>();
public static ArrayList<String> alreadyGotSalaryEmployees = new ArrayList<>();
public static void initEmployees() {
waitingEmployees.add("Гвинно");
waitingEmployees.add("Гунигерд");
waitingEmployees.add("Боргелейф");
waitingEmployees.add("Нифрод");
waitingEmployees.add("Альбиуф");
waitingEmployees.add("Иногрим");
waitingEmployees.add("Фриле");
}
public static void main(String[] args) {
initEmployees();
}
public static void paySalary(String name) {
if (waitingEmployees.contains(name) && !alreadyGotSalaryEmployees.contains(name)) {
alreadyGotSalaryEmployees.add(name);
for (int i = 0; i < waitingEmployees.size(); i++) {
if (waitingEmployees.get(i).equals(name)) {
waitingEmployees.set(i, null);
break;
}
}
}
}
}