| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/06/2010 10:24:00
|
fellipaum
Entusiasta Java
Membro desde: 17/09/2007 11:46:36
Mensagens: 24
Offline
|
Bom dia,
estou com um problema na chamade de um metodo set via reflaxão.
Na classe ele esta definido como "setNumItens(Integer x)", recebendo o objeto Integer.
Quando vou fazer a chamada do metodo via reflexao ele da erro pq no getMethod eu passo o class do int(Integer.TYPE). Para tentei tratar esse tipo de erro, eu passo o class do proprio Integer, so que ele continua printando a mesma excessao.
java.lang.NoSuchMethodException: Legislacao.setNumItens(int)
at java.lang.Class.getMethod(Class.java:1605)
at util.EditArtefato.callSet(EditArtefato.java:156)
at util.EditArtefato.saveMethods(EditArtefato.java:11
at util.EditArtefato.main(EditArtefato.java:213)
Segue o codigo:
Alguem sabe uma solução que nao seja alterar o set pra receber um int??
Obs: essa chamada funciona normal se o metodo receber um int.
|
Felipe Lobo |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/06/2010 10:33:45
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Não entendi sua duvida.
Poste a classe de modelo que voce quer pegar o método.
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/06/2010 10:35:17
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
int.class - é a "classe" do tipo primitivo int.
Integer.class - é a classe do tipo objeto java.lang.Integer.
Satisfeito?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/06/2010 10:45:42
|
fellipaum
Entusiasta Java
Membro desde: 17/09/2007 11:46:36
Mensagens: 24
Offline
|
Não entendi sua duvida.
Poste a classe de modelo que voce quer pegar o método.
Esse eh o metodo que estou querendo invocar:
public void setNumItens(Integer value) {
this.numItens = value;
}
entanglement wrote:int.class - é a "classe" do tipo primitivo int.
Integer.class - é a classe do tipo objeto java.lang.Integer.
Satisfeito?
Isso eu sei.
O que estou querendo saber eh pq mesmo passando o "Integer.class" no getMethod ele continua dizendo que o metodo nao existe? Sendo que o method existe.
This message was edited 1 time. Last update was at 11/06/2010 10:48:09
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/06/2010 11:14:36
|
weberdls
Debugger
Membro desde: 23/02/2007 13:52:13
Mensagens: 66
Offline
|
Posso estar viajando, mas esta linha aqui :
"java.lang.NoSuchMethodException: Legislacao.setNumItens(int)"
Está afirmando, que você está passando int.class como parameter type, quando seu método tem como parameter type um Integer.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/06/2010 12:37:56
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline
|
Integer.TYPE retorna o class do tipo primitivo int
Integer.class retorna o class de Integer
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/06/2010 13:17:41
|
asaudate
GUJ Master
![[Avatar]](/images/avatar/974e2945a18e0bfb8e3aa8becac3e65c.jpg)
Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline
|
Como, no meio de tanta confusão, não está bem claro o que você quer, segue exemplo de invocação de método com integer:
Note que o método eco recebe um Integer, devolve como int, que depois é transformado em Object (na saída do invoke()) e, mesmo assim, tudo ocorre bem. O que eu acho mais provável que tenha acontecido é que você tenha errado algum parâmetro do método..
[]´s
|
Alexandre Saudate
__________________________
Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.
Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate
Evite usar Axis2!!! Leia aqui para mais detalhes!
@alesaudate
Quer ler um blog especializado em web services e SOA?
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/06/2010 14:13:41
|
fellipaum
Entusiasta Java
Membro desde: 17/09/2007 11:46:36
Mensagens: 24
Offline
|
asaudate wrote:O que eu acho mais provável que tenha acontecido é que você tenha errado algum parâmetro do método..
Resolvido o problema, foi erro na minha codificação.
Antes eu estava lançando a exceçao dentro do catch independe das invocações dentro dos ifs e elses que estavam dentro do catch, por isso que estava sempre lançando exceção.
Por isso que estava sempre printando o:
"java.lang.NoSuchMethodException: Legislacao.setNumItens(int)"
Foi mal ae.
Mark_Ameba wrote:
Integer.TYPE retorna o class do tipo primitivo int
Integer.class retorna o class de Integer
Eu sei disso, so q se vc olhar no catch do codigo que eu postei, eu estava invocando o mesmo metodo passando Integer.class(dentro do catch),
e ainda sim tava dando exceção(so que era erro na minha logica).
Vlw pelas ajudas.
|
Felipe Lobo |
|
|
 |
|
|