Oi galera, voltei, bem meu problema agora é o seguinte, estou precisando pegar o número de caracteres de uma determinada coluna da minha tabela.
Assim:
Fiz um select na tabela regiao;
Então no meu if coloquei assim,
só que estou tendom um erro de Attempt to reference method length in class java.lang.String as an instance variable, nesta linha de código if(codigo.length.equals(“1”))
e nesta linha ele deu, codbrick = “0000”+codbrick Invalid type expression, apontando para o igual.
a java.lang.String não tem um atributo length!!! e sim o metodo lenght()
entao use:
if(codigo.length()==1)
D
darta.lima
Olá Paulo,
Vou efetua a modificação, e qualquer coisa entro em contato!!
Um abraço.
Dartanhan.
Guilherme_Silveira
e o .equals tambem nao vai funcionar
tem q ser:
if(valor.length()==1)
alias, era uma boa colocar um artigo/tutorial sobre como usar o javadoc da sun, (onde encontrar e ler), pois esses erros de saber se eh metodo ou nao, qual o nome e tal, ta tudo la
gui
D
darta.lima
Seria uma boa um tutorial sobre isso, facilitaria muito na hora de saber o que devo usar e o que não devo. pra mim o equal e o == eram a mesma coisa, bem pode até ser, mais um seria para métodos o outro não. seria isso mesmo ou estou escorregando na maionese.
Um abraço,
Darta.
Leonardo
Acho que esta eu sei explicar...
O operador == é utilizado para comparar a referência entre dois objetos são iguais, enquanto que o equals compara se o conteúdo, ou valores, de uma determinada variável são iguais.
Por exemplo:
publicclassTeste{publicTeste(){Stringletra="o";Strings="hello";Stringt="hell"+letra;// exatamene o mesmo texto da variável s if(s.equals(t))System.out.println("equivalentes");// se usarmos o == if(s==t)System.out.println("diferentes");}publicstaticvoidmain(Stringargsv[]){Testete=newTeste();}}
observe que somente a mesnagem "equivalentes" é mostrada :shock: . Para os tipos primitivos como char, int, byte,etc. o == também funcionaria.
é isso aí espero ter ajudado ! :)
Guilherme_Silveira
Opa leo tudo bom?
O seu codigo esta certo sim, porem eh extremamente necessario RELEMBRAR que o metodo EQUALS soh compara objetos, isto eh nao compara primitivas que sao os: int, byte, char, long, double e float (nao necessariamente nessa ordem :)…
Para isso voce deve utilizar os comparadores normais do tipo =, >, <, !, entre outros…
Vale tambem relembrar que nem sempre o metodo == ira retornar falso para duas Strings com o mesmo valor, se elas forem retiradas da pool interna elas serao exatamente o mesmo objeto! Mais informacoes estao no artigo/tutorial sobre String e StringBuffer
Abraco
Guilherme
Leonardo
Obrigado Guilherme ! É sempre bom saber estes detalhes !
D
darta.lima
Valeu, Leo, entendi sua explicação e a complementação do Gui, muito obrigado, por enquanto está tudo ok, estou me virando aqui qualquer coisa eu grito!!