Metodo Get e Set com arrays no Java

16/12/2018

0

Olá, não estou conseguindo utilizar o get e set com um vetor em java, alguem poderia me da um exemplo?

Tentei algo assim :
private int i = 0;
private File[] CaminhoXML = new File[i];

public File[] getCaminhoXML() {
return CaminhoXML;
}

public void setCaminhoXML(File CaminhoXML, int pos) {
this.CaminhoXML[pos] = CaminhoXML;
}
Guilherme Oliveira

Guilherme Oliveira

Responder

Posts

17/12/2018

Ricardo Pestana

Bom dia,

Porque ao invés de usar um Vetor e ficar controlando o seu tamanho, não usa uma lista... bom, fiz um exemplo com List/ArrayList e a idéia é mas ou menos a mesma. O get retorna um (ou vetor) e vc tem que percorrer seus elementos já no set vc passa a List (ou vetor) já povoada (teoricamente).


No exemplo criei uma classe chamada arquivo, contendo o get e o set mais um método para adicionar elementos e encapsular essa lógica que pode ser feita também com o vetor só que aí vc controla os elementos. E uma outra classe que chamei GetterSetterVetor onde adiciono um elemento (para mostrar a idéia do método adicionar) e loop para iterar sobre os elementos.... tentei seguir sua idéia pelo que entendi do seu exemplo.

public class Arquivo {
private List<File> caminhoXML = new ArrayList<>();
public List<File> getCaminhoXML() {
return caminhoXML;
}

public void setCaminhoXML(List<File> caminhoXML) {
this.caminhoXML = caminhoXML;
}

public void adicionar(File f) {
caminhoXML.add(f);
}
}

public class GetterSetterVetor {
public static void main(String[] args) {

Arquivo arq = new Arquivo();
arq.adicionar(new File("c:\\\\temp\\\\arquivo.txt"));

for (File f : arq.getCaminhoXML()) {
System.out.println(f.getName());
}
}
}

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar