Есть вот такой код, задачу я решил, но можете пожалуйста объяснить чем
______________________________________________________
private static List<String> strings;
public static void main(String[] args) throws Exception {
strings = new ArrayList<String>();
Отличается от
public static void main(String[] args) throws Exception {
ArrayList<String> strings = new ArrayList<String>();
Задача компилируется и так и так
______________________________________________________
public class Solution {
private static List<String> strings;
public static void main(String[] args) throws Exception {
ArrayList<String> strings = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int a = 0;
for(int i = 0; i < 5; i++){
strings.add(reader.readLine());
a = (strings.get(i).length() > a) ? strings.get(i).length() : a ;
}
for(String s : strings){
if(s.length() == a) System.out.println(s);
}
}
}
Maxim Alexeevich
9 уровень
В чем разница?
Решен
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
30 октября 2018, 06:40
Пролистай на пару вопросов вниз, Полине только что про статики объяснял.
А отличие List от ArrayList в том, что ArrayList - лишь один из классов, реализующих интерфейс List.
Интерфейсы вроде впереди ещё. Если кратко - то нельзя создавать объекты класса List, т.к. нет такого класса, другими словами писать new List нельзя. А переменную объявить типа List можно.
Ты как бы говоришь:
Переменная из семейства Листов будет хранить новый объект ArrayList.
Если сейчас непонятно, то скоро лекция будет про интерфейсы.
Главное запомни, что по конвенции стоит писать именно так.
0