Кажется, никто не упомянул об использовании метода nonNull
, который также можно использовать с streams
в Java 8 для удаления нуля (но не пустого) как:
String[] origArray = {"Apple", "", "Cat", "Dog", "", null};
String[] cleanedArray = Arrays.stream(firstArray).filter(Objects::nonNull).toArray(String[]::new);
System.out.println(Arrays.toString(origArray));
System.out.println(Arrays.toString(cleanedArray));
И вывод:
[Apple, Cat, Dog, NULL]
[Apple, Cat, Dog,]
Если мы хотим включить пустой также, то мы можем определить вспомогательный метод (в классе Utils
(скажем)):
public static boolean isEmpty(String string) {
return (string != null && string.isEmpty());
}
И затем использовать его для фильтрации элементов следующим образом:
Arrays.stream(firstArray).filter(Utils::isEmpty).toArray(String[]::new);
Я считаю, что Apache common также предоставляет служебный метод StringUtils.isNotEmpty
, который также можно использовать.
Я не думаю, что это возможно (пока).
См. эту ссылку в MSDN.
Вышеупомянутая статья даже ссылается на другую о смешанных уровнях доступа.
Я нашел это в Microsoft Connect, поэтому они думают об этом (если это будет для VS2010, это другое вопрос).
Согласно этой статье MSDN , вы не можете:
Автоматически реализуемые свойства удобно и поддерживает многие сценарии программирования. Однако там это ситуации, в которых вы не можете использовать автоматически реализуемое свойство и должно вместо этого используйте стандартный или расширенный, синтаксис свойства.
Вы должны использовать расширенный синтаксис определения свойства, если хотите выполнить одно из следующих действий:
[...]
- Укажите разные возможности доступа для процедура получения и установки. Для например, вы можете захотеть сделать Установить процедуру Private и получить общедоступная процедура.
Вот так:
Private Thingy As Integer
Property Thing() As Integer
Get
Return Thingy
End Get
Private Set(ByVal value As Integer)
Thingy = value
End Set
End Property
Свойство Auto в VB10
Property PartNo As Integer = 44302
Но с частным набором все еще нельзя сделать в vb, даже в VB10 см. Здесь:
Из MSDN (как Джон сказал):
Определения свойств, требующие Стандартный синтаксис:
- Укажите разные возможности доступа для процедура получения и установки. Для например, вы можете захотеть сделать Установить процедуру Private и получить процедура Public.