Нет тега для этого. Необходимо было бы использовать JavaScript для показа текста.
Некоторые люди уже предложили использовать JS для динамичной установки видимого CSS. Вы могли также динамично генерировать текст с document.getElementById(id).innerHTML = "My Content"
или динамично создание узлов, но взлом CSS является, вероятно, самым простым для чтения.
Краткий ответ? Нет. Вы можете (конечно) иметь Список
из Объектов
, но тогда вы можете поместить в него что угодно , а не только String
или Целочисленные
объекты.
Вы можете создать список объектов-контейнеров, и этот объект-контейнер будет содержать либо Integer
, либо String
(возможно, через дженерики). Еще немного хлопот.
public class Contained<T> {
T getContained();
}
и реализуйте Содержимое
и Содержимое
.
Конечно, настоящий вопрос в том, почему вы хотите это сделать? Я ожидаю, что коллекция будет содержать объекты одного типа, а затем я могу перебирать и выполнять действия с этими объектами, не беспокоясь о том, что они собой представляют. Возможно, ваша иерархия объектов требует доработки?
но тогда вы можете поместить в него что угодно , а не только объекты String
или Integer
.
Вы можете создать список объектов-контейнеров, и этот объект-контейнер будет содержать либо Integer
, либо String
(возможно, через дженерики). Еще немного хлопот.
public class Contained<T> {
T getContained();
}
и реализуйте Содержимое
и Содержимое
.
Конечно, настоящий вопрос в том, почему вы хотите это сделать? Я ожидал, что коллекция будет содержать объекты одного типа, а затем я смогу перебирать и выполнять действия с этими объектами, не беспокоясь о том, что они собой представляют. Возможно, ваша иерархия объектов требует дальнейшего изучения?
но тогда вы можете поместить в него что угодно , а не только объекты String
или Integer
.
Вы можете создать список объектов-контейнеров, и этот объект-контейнер будет содержать либо Integer
, либо String
(возможно, через дженерики). Еще немного хлопот.
public class Contained<T> {
T getContained();
}
и реализуйте Содержимое
и Содержимое
.
Конечно, настоящий вопрос в том, почему вы хотите это сделать? Я ожидаю, что коллекция будет содержать объекты одного типа, а затем я могу перебирать и выполнять действия с этими объектами, не беспокоясь о том, что они собой представляют. Возможно, ваша иерархия объектов требует дальнейшего изучения?
и этот контейнерный объект будет содержать либо Integer
, либо String
(возможно, через дженерики). Еще немного хлопот.
public class Contained<T> {
T getContained();
}
и реализуйте Содержимое
и Содержимое
.
Конечно, настоящий вопрос в том, почему вы хотите это сделать? Я ожидал, что коллекция будет содержать объекты одного типа, а затем я смогу перебирать и выполнять действия с этими объектами, не беспокоясь о том, что они собой представляют. Возможно, ваша иерархия объектов требует дальнейшего изучения?
и этот контейнерный объект будет содержать либо Integer
, либо String
(возможно, через дженерики). Еще немного хлопот.
public class Contained<T> {
T getContained();
}
и реализуйте Содержимое
и Содержимое
.
Конечно, настоящий вопрос в том, почему вы хотите это сделать? Я ожидал, что коллекция будет содержать объекты одного типа, а затем я смогу перебирать и выполнять действия с этими объектами, не беспокоясь о том, что они собой представляют. Возможно, ваша иерархия объектов требует дальнейшего изучения?
настоящий вопрос: зачем вы это хотите? Я ожидал, что коллекция будет содержать объекты одного типа, а затем я смогу перебирать и выполнять действия с этими объектами, не беспокоясь о том, что они собой представляют. Возможно, ваша иерархия объектов требует дальнейшего изучения? настоящий вопрос: зачем вы это хотите? Я ожидаю, что коллекция будет содержать объекты одного типа, а затем я могу перебирать и выполнять действия с этими объектами, не беспокоясь о том, что они собой представляют. Возможно, ваша иерархия объектов требует дальнейшего изучения?В дополнение к уже предоставленным красивым ответам ...
Возможно, у вас есть два типа данных в вашем алгоритме. Но вам, возможно, не придется помещать их в один и тот же список ...
Создание двух типизированных списков может быть более ясным для вашего алгоритма, вы все равно сохраните «типобезопасность» и будете переносить все свои данные. Далее следуют два образца кода, во втором два списка группируются в объекте MyData.
public class Algorithm1 {
public void process(List<String> strings, List<Integer> integers) {
...
}
}
--------------------------------------
public class DataPair {
public List<String> strings;
public List<Integer> integers;
}
public class Algorithm2 {
public void process(DataPair dataPair) {
...
}
}
Нет. Подумайте об этом так: с помощью дженериков вся идея заключается в обеспечении безопасности типов. Это было бы невозможно, если бы вы могли помещать в него объекты разных типов.
Вы можете использовать неуниверсальный java.util.List
для своих целей.
Если вы хотите убедиться, что только объекты String
или Integer
входят в список, вы можете создать свою собственную реализацию List следующим образом:
public class MySpecialList {
private List list= new LinkedList();
...
public void add(final String string) {
list.add(string);
}
public void add(final Integer integer) {
list.add(integer);
}
...
// add rest of List style methods
}
Недостаток : вы теряете интерфейс List
ясность ...
Нет. Однако у вас есть несколько альтернатив:
Вы можете использовать List
Вы можете использовать List
EDIT: Пример.
class UnionHolder {
public String stringValue;
public int intValue;
}
List < UnionHolder > myList
...
Конечно, вам понадобится немного дополнительного кода, чтобы выяснить, какие данные нужно извлечь из объекта UnionHolder, который вы только что удалили из своего списка. Одна из возможностей состоит в том, чтобы иметь 3-й член, который имеет разные значения в зависимости от того, какой он есть, или вы могли бы, скажем, иметь функцию-член, такую как
public boolean isItAString() { return (this.stringValue != null }