Если у меня есть Stack классJava Raw Тип и дженерики взаимодействие
class Stack<E> {}
теперь, если я:
1) Stack<Integer> s = new Stack()
2) Stack s = new Stack<Integer>()
3) Stack s = new Stack()
может кто-нибудь объяснить мне, что это за взаимодействия (gener ic < -> сырьевые) причины?
В основном я сомневаюсь в точке 1. На самом деле, если я делаю это назначение, это небезопасно, потому что этот стек может хранить типы, отличные от Integer. Да, но если у меня есть метод push и попытайтесь сохранить значение othern чем Integer, то компилятор остановит меня ... поэтому, когда у меня будет эта небезопасная операция?
Я не понимаю - вы хотите иметь стек, где вы можете нажимать другие вещи, а затем целые (например, целые числа и парные разряды), или вы хотите использовать стек только с одним типом (Integer), и пусть компилятор помочь тебе? –
Нет. Я хочу стек с одним типом и хочу знать, что произойдет, если я сделаю эти назначения. – xdevel2000