Problemas com jdk 6

12 respostas
antoniodourado

Olá pessoal…

Na faculdade a versão do JDK é a 1.5.0_10 e eu tenho as 2 linhas no meu codigo:

private Vector<Carros> carro = new Vector();
private Vector<Cliente> cliente = new Vector();

o que acontece eh o seguinte…

Qdo eu rodo ele em casa (JDK 1.6.0_01) ele da problemas nessas 2 linhas e qdo vou ler sobre o problema, ele indica que o recurso eh compativel apenas com o Java 5.0… pois bem… pq eh compativel com 1.5.0_10 e não eh com 1.6.0_01???

Valeu pessoal

12 Respostas

A

Opa!

Não testei o seu código mas acredito que o correto é

private Vector<Carros> carro = new Vector<Carros>();
 private Vector<Cliente> cliente = new Vector<Cliente>();

Flw!

Luca

Olá

Seu código parece um tanto incompleto e você deveria ter colocado aqui exatamente a mensagem que recebeu. Como não fez, vou tentar adivinhar.

Você compilou com Java 1.5 e executou com Java 1.6?

[]s
Luca

antoniodourado

perdão pela falta de informação…

Bem… o erro é esse:

The type Vector is not genneric; It cannot be parametrized with arguments <Cliente>
Syntax error, parameterized types are only available if source level is 5.0

Isso deveria funcionar já que funcionou no 1.5 =/

Tentei a sugestão do amigo “new Vector<Cliente>()” mas nao rolou

davidbuzatto

Olá

Olha kra, eu consegui compilar seu código sem problemas com o Java 1.5 e no 1.6.

Mas como já dito, seu código está incompleto, vc não está usando os genéricos da forma correta.

Mesmo compilando usando -Xlint:unchecked, não foi apresentado o erro que você informou.

O correto seria:

private Vector<Carros> carro = new Vector< Carros >(); private Vector<Cliente> cliente = new Vector< Cliente >();

Passa o código completo da classe Carros, Cliente e a classe que vc está usando os genéricos.

Falow!

antoniodourado

Segue um exemplo que fiz usando outras classes (Automovel e Cliente)

Tb tentei:

private Vector<Automovel> carro = new Vector&lt Automovel &gt();

mas nada!!

Classe Automovel:

import javax.swing.JOptionPane;

public class Automovel {
	private String marca,placa;
	private int ano;
	
	public Automovel()
	{
		
	}
	
	public Automovel(String marca, String placa, int ano)
	{
		this.marca = marca;
		this.placa = placa;
		this.ano = ano;
	}
	
	public void setPlaca(String placa)
	{
		this.placa = placa;
	}
	
	public void setMarca(String marca)
	{
		this.marca = marca;
	}
	
	public void setAno(int ano)
	{
		this.ano = ano;
	}
	
	public String getPlaca()
	{
		return this.placa;
	}
	
	public String getMarca()
	{
		return this.marca;
	}
	
	public int getAno()
	{
		return this.ano;
	}
	
	public void exibirCarro()
	{
		JOptionPane.showMessageDialog(null, "\nPlaca do Carro: "+this.placa+
											"\nMarca: "+this.marca+
											"\nAno: "+this.ano);
	}

}

Classe Cliente:

import javax.swing.JOptionPane;

import java.util.Vector;



public class Cliente {

	

	private int cpf, fone;

	private String nome;

	private Vector<Automovel> carros = new Vector();


	

	public Cliente()

	{

		

	}

	

	public Cliente(String nome, int cpf, int fone)

	{

		this.nome = nome;

		this.cpf = cpf;

		this.fone = fone;

	}

	

	public Cliente(String nome, int cpf, int fone, Automovel carro)

	{

		this.nome = nome;

		this.cpf = cpf;

		this.fone = fone;


		carros.addElement(carro);

	}

	

	public void addCarro(Automovel carro)

	{

		this.carros.addElement(carro);

	}

	

	public void setNome(String nome)

	{

		this.nome = nome;

	}

	

	public void setFone(int fone)

	{

		this.fone = fone;

	}

	

	public void setCpf(int cpf)

	{

		this.cpf = cpf;

	}

	

	public String getNome()

	{

		return nome;

	}

	

	public int getFone()

	{

		return this.fone;

	}

	

	public int getCpf()

	{

		return this.cpf;

	}

	

	public void exibirCliente()

	{

		int i;

		

		JOptionPane.showMessageDialog(null, "\nNome do cliente: "+nome+

											"\nTelefone: "+fone+

											"\nCPF: "+cpf+"\n","Dados do cliente",JOptionPane.INFORMATION_MESSAGE);

		


		JOptionPane.showMessageDialog(null, "Processando automóveis...");

		for(i=0;i<carros.size();i++){

			Automovel a = carros.elementAt(i);

			a.exibirCarro();

		}	

	}

	

	public void exibirCarros()

	{

		int i;

		JOptionPane.showMessageDialog(null, "Processando automóveis...");

		if(carros.size() > 0)

		     for(i=0;i<carros.size();i++){

			     Automovel a = carros.elementAt(i);

			     a.exibirCarro();

		     }

		else

			JOptionPane.showMessageDialog(null,"Não existem veiculos cadastrados!");

	}

	

}

:)>

Luca

Olá

Sem problemas se prefere resolver as coisas com MUITA calma.

De novo parece que você não informou se usa o JDK para compilar ou usa o eclipse (ou outra IDE). Este erro tem cheiro de compilação feita no eclipse sem escolher a opção correta.

Se for isto, vá em Windows/Preferences/Java e coloque o JDK compliance que você quer. De fábrica o ecipse vem com 1.4 e dá erros parecidos com este. O Netbeans pode ser semelhante.

[]s
Luca

antoniodourado

Fui em Window/Preferences/Java/Build Path/Classpath Variables
E la estava:

ECLIPSE_HOME - /home/antonio/eclipse
JRE_LIB(reserved) - /usr/java/jdk1.6.0_01/jre/lib/rt.tar
JRE_SRC(reserved) - /usr/java/jdk1.6.0_01/src.zip
JRE_SRCROOT(reserved) - (empty)
JUNIT_HOME - /home/antonio/eclipse/plugins/org.junit_3.8.1
JUNIT_SRC_HOME - /home/antonio/eclipse/plugins/org.eclipse.jdt.source_3.2.2.r322_v20070104-R4CR0Znkvtfjv9-/src/org.junit_3.8.1

Bem parece q meu eclipse ta usando o jdk 1.6 sim…

Alguma ideia?

Luca

Olá

Sim, ir onde indiquei. JDK Compliance, é isto que aparece na primeira tela.

[]s
Luca

Raff

Luka Olhe na sua classe cliente você está usando Genericos errada cara

Você está fazendo assim veja:
private Vector<Automovel> carros = new Vector();

O certo Seria.....:

private Vector<Automovel> carros = new Vector<Automovel>();
Raff

Ops a msg que eu mandei era para o antonio e não para o luka :stuck_out_tongue:

antoniodourado

Putz :oops:

Bem, Luca estava certo (soh estava no local errado :slight_smile: )
Raff tb estava certo sobre o uso…

Tava como 1.4 mesmo aki Luca =/

Bem, problema resolvido…

Desculpem pelo amadorismo e valeu mesmo pela ajuda =D

Até!

Raff

antoniodourado:
Putz :oops:

Bem, Luca estava certo (soh estava no local errado :slight_smile: )
Raff tb estava certo sobre o uso…

Tava como 1.4 mesmo aki Luca =/

Bem, problema resolvido…

Desculpem pelo amadorismo e valeu mesmo pela ajuda =D

Até!

Estamos aqui para isso :slight_smile:

Criado 24 de maio de 2007
Ultima resposta 25 de mai. de 2007
Respostas 12
Participantes 5