Dúvida com campo float valor nulo

Olá galera, eu estou com um problema… estou passando um objeto para um procedimento em por um web service, o problema é que eu estou enviando o valor desse campo como nulo e dentro do procedimento do web service em que estou tratando essa informação o campo não vem nulo e sim com 0.0
A minha dúvida é a respeito de valor nulo para um campo float no java. É possível? Como verifico se esse campo possui um valor null…

Grato pela atenção e ajuda.

Ola,

Em java, os tipos primitivos (double, long, float, int byte, chat…) não são “nuláveis”, eles teêm valores default… no caso de numeros é 0…

O que vc pode fazer é trabalhar com as classes wappers dos tipos, deste modo um campo Double pode ser nulo.

Olá BrunoCarlo, grato pela atenção!!!
Entendi não compreendi o por que mas não necessito dessa informação agora … Se eu mandar como String o campo eu consigo tratar o valor nulo correto ? É uma boa prática?
Outro auxílio:
Tem uma situação em que estou mandando uma data em String no formato ‘dd/mm/yyyy’ porém preciso gravar no banco como ‘mm/dd/yyyy’.
Como posso converter essa String em Data e depois converta no formato ‘mm/dd/yyyy’ para o banco de dados???
Abaixo tenho uma parte da implementação:

if (! (logistica.getVencimento() == null)) {
          		    // java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("dd/MM/yyyy");
				    SQL = SQL + sLig + "VENCIMENTO = "  + "'" + logistica.getVencimento() + "'";
				    sLig = ", ";
}

Grato pela ajuda!

O que o Bruno falou eh que valores primitivos:
int, double, long. char, etc tem valores default, ja que são tipos primitivos, por exemplo long é representado por 64 bits, e esses bits sempre vão representar um número, que no caso default eh 0, por isso não da para ele ser null, afinal teria que criar um padrão para essa combinação de bits que representaria null.

No caso dos wrapper, são classes (objetos) que representam esses tipos primitivos, como são objetos, eles podem referenciar um valor null, a variavel que representa esse objeto pode estar apontando para null, exemplos dessas classes são Integer, Long, Double, etc, repare que eles começam com letra maiuscula e tem métodos, atributos, etc, tudo que outro objeto tb tem.

Então fazer:

float x;

não é o mesmo que:

Float x

Então, nesse procedimento web, vc recebe um float ou um Float?! se for um long pode ter certeza que ele nunca sera null, agora se for Long ai vai poder ser.

respondendo as suas ultimas perguntas, eu não acho que vc deva mandar como String, já que trabalhando com Float vc pode usar null… a menos que vc naum tenha controle desse controle sobre esse procedimento web e ele sempre vai converter para primitivo.

e sobre a data, segue um codigo que converte:

		try {
			SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MM/yyyy");
			Date date = sdf1.parse("28/07/2006");
			SimpleDateFormat sdf2 = new SimpleDateFormat("MM/dd/yyyy");
			String dateString = sdf2.format(date);
			System.out.println(dateString);
		} catch (ParseException e) {
			e.printStackTrace();
		}

Olá luBs, grato pela atenção…
Dessa forma, o tipo float é primitivo e o tipo Float é um objeto (wrapper) correto?
Eu recebo o dado primitivo, isto é, float portanto acredito que terei que mudálo para Float ? Seria o mesmo que usar uma String porém com o tipo definido corretamente sem “bambis” confere ?

Agradeço a paciência pois iniciante é fd*

O tipo wrapper eh a representação do tipo primitivo mas em forma de objeto.

Posta ai seu codigo, receber que vc diz eh receber via web service certo!? esse atributo float vc consegue enviar como null certo?! se sim, no processamento quando recebe a mensagem, tenta atribuir a um tipo Float (Object)… seila, sem ver certinho como esta seu codigo capais de eu te atrapalhar mais que ajudar, dependendo pode ser que eu to te dizendo para fazer algo que vc naum tem controle para fazer…

posta ai um resumo do seu codigo (um resumo das pates importantes, enviar e receber).

Valeu!