Transformar null em " " (String vazia) ou virse-versa

Meu povo.

Estou com um problema que julgo ser bem simples, mas que já me roubou o juízo. Como eu posso transformar um valor null numa String vazia e virse-versa. Ou seja, null para " ". Ja tentei até um .toString(), mas não dá certo. Como faço?

Obrigado!

String minhaString = null;
if(minhaString == null) {
  minhaString = " ";
}

Pode tentar também o

minhaString=minhaString!=null?minhaString:"";

A forma que o jyoshiriro também é válida, mas vale lembrar que ela fará uma atribuição quando não é necessário(string != null)

Sei que isso já é ser cri cri, mas só por curiosidade mesmo :slight_smile:

“Um atribuição quando não é necessário”? Como assim? :?:

Veja, o que o colega pediu simplesmente é impossível fazer me Java. Não se “transforma” null em “” ou qualquer outra coisa. Como o colega que criou o post não disse de onde se origina a String null (se é via parâmetro, construtor, variável de instância, etc), postei um exemplo usando a mesma variável para testar e atribuir apenas para dar uma luz sobre como fazer o que entendi que ele solicitou.

O exemplo que passei foi caso nosso amigo queira “transformar” a própria variável de null para “”. O exemplo que passei equivale ao “if” que o outro colega mandou antes, com a característica de ocupar apenas 1 linha. Assim o criador do tópico faz sua opção.

[quote=marcio_gs] String minhaString = null; if(minhaString == null) { minhaString = " "; } [/quote]

Tome cuidado que " " não é String vazia, é um espaço. String vazia é assim: “”.

“Um atribuição quando não é necessário”? Como assim? :?:

Veja, o que o colega pediu simplesmente é impossível fazer me Java. Não se “transforma” null em “” ou qualquer outra coisa. Como o colega que criou o post não disse de onde se origina a String null (se é via parâmetro, construtor, variável de instância, etc), postei um exemplo usando a mesma variável para testar e atribuir apenas para dar uma luz sobre como fazer o que entendi que ele solicitou.

O exemplo que passei foi caso nosso amigo queira “transformar” a própria variável de null para “”. O exemplo que passei equivale ao “if” que o outro colega mandou antes, com a característica de ocupar apenas 1 linha. Assim o criador do tópico faz sua opção.[/quote]

é possível sim, tanto q vc fez!, a transformação q o felipe_fernandes se refere ñ é nenhuma alquimia, é simplesmente o teste q foi feito, emfim, dexa isso pra lá…

explicando pq q existe uma atribuição desnecessária: o operador ternário ñ é equivalente a um ‘if’, e sim equivalente a um ‘if-else’, e.g.:

[code]str = str == null ? “” : str;

if (str == null)
str = “”;
else
str = str;[/code]
sendo assim, no caso do teste ser falso a string sempre receberá o valor dela mesma (oq é descecessário), mas como vc mesmo percebeu, está sendo ultilizado a mesma string, caso queira retornar o valor a uma segunda string entao o operador ternário e o if-else funcionam iguais

obs.: eu mudei de " " para “”.

flw, t+

Não equivale. Seu exemplo faz o seguinte:

   if(minhaString == null) {
       minhaString = "";
   } else {
        minhaString = minhaString
   }

O else é inútil e se o felipe_fernandes quiser optar pela versão de uma linha vai ter que usá-lo.

Vocês conhecem o StringUtils do apache commons? Ele tem vários métodos, inclusive o stripToNull e o trimToNull.
Talvez ajude.

Meu projeto de utilidades, OpenSutils-Br4J, tem algo similar.

org.opensutils.StringUtils.ignoreEmpty("  ");// o método retornara null

http://www.guj.com.br/java/225445-opensutils-br4j—biblioteca-de-utilitarios-utils