Как я объясняю в мой ответ на другой вопрос, PECS - это мнемоническое устройство, созданное Джошем Блохом, чтобы помочь вспомнить производителя extends
, Consumer super
.
Это означает, что когда параметризованный тип, передаваемый методу, будет выдавать экземпляры из
T
(они будут извлечены из него каким-либо образом), следует использовать? extends T
, поскольку любой экземпляр подклассаT
также являетсяT
.Когда параметризованный тип, передаваемый методу, будет потреблять экземпляры
blockquote>T
(они будут переданы в он должен что-то сделать),? super T
следует использовать, потому что экземплярT
можно законно передать любому методу, который принимает некоторый супертипT
. Например,Comparator
можно использовать наCollection
.? extends T
не будет работать, потому чтоComparator
не может работать наCollection
.Обратите внимание, что обычно вы должны использовать только
? extends T
и? super T
для параметров какого-либо метода. Методы должны использоватьT
только как параметр типа для типичного типа возврата.
Без корневого каталога
sudo useradd myuser
С корневым каталогом
sudo useradd -m myuser
Тогда устанавливает пароль
sudo passwd myuser
, Тогда устанавливает оболочку
sudo usermod -s /bin/bash myuser
Существуют команды basicly 2, чтобы сделать это...
необходимо выполнить их, имеет корень. Просто прочитайте их руководства, чтобы узнать, как использовать их.
Вот команда я почти всегда использую (добавляя пользователя Kevin):
useradd -d /home/kevin -s /bin/bash -m kevin