反射机制 --> Class.newInstance() && Constructor.newInstance()
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Documentação
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- java
- Domínio
- documentation
Direção de pesquisa
Leia a página vinculada da Class API do JDK 9 e do Java Tutorials sobre reflexão de construtores e, em seguida, localize a documentação relevante sobre reflexão no JavaGuide. Atualize a orientação para abordar a descontinuação de Class.newInstance() e as diferenças indicadas em relação a Constructor.newInstance(), preservando as fontes citadas.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
- JDK9文档中,
Class.newInstance()方法被标识为Deprecated,同时也提到The callclazz.newInstance()can be replaced byclazz.getDeclaredConstructor().newInstance()。 - The Java™ Tutorials中提到Constructor.newInstance()是首选,原因为:
Class.newInstance()can only invoke the zero-argument constructor, whileConstructor.newInstance()may invoke any constructor, regardless of the number of parameters.(Class.newInstance()方法只能调用无参数的构造方法,而Constructor.newInstance()方法可以调用任意参数数量的构造方法。)Class.newInstance()throws any exception thrown by the constructor, regardless of whether it is checked or unchecked.Constructor.newInstance()always wraps the thrown exception with anInvocationTargetException.(Class.newInstance()会抛出任何构造器抛出的受检查异常和不受检查异常;Constructor.newInstance()会将抛出的异常包装在InvocationTargetException中抛出。)Class.newInstance()requires that the constructor be visible;Constructor.newInstance()may invoke private constructors under certain circumstances.(Class.newInstance()要求构造方法可见;而Constructor.newInstance()在某些情况下,可以调用私有的构造方法)
Source1:https://docs.oracle.com/javase/tutorial/reflect/member/ctorInstance.html
Source2:https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html
- Linguagem predominante
- JavaScript
- Estrelas
- 159k
- Forks
- 46.1k
- Merge médio
- 1d 8h
- PRs com merge (30d)
- 10
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Snailclimb/JavaGuide
-
失效链接替换 Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 78/100
Snailclimb/JavaGuide#2922 · 1 comentário ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 45/100
Snailclimb/JavaGuide#2649 · 2 comentários ·
-
perfect content
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 55/100
Snailclimb/JavaGuide#2453 · 3 comentários ·
-
关于Disruptor中填充了多少字节的补充 Abertaperfect content
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
Snailclimb/JavaGuide#2259 · 2 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
Snailclimb/JavaGuide#2074 ·
Todas as issues de Snailclimb/JavaGuide
Issues semelhantes
-
bug confirmed issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
open-webui/open-webui#30750 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Mend: dependency security vulnerability untriaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100