Imprimir List de objetos

Eu tenho uma classe produtos com atributos como nome , codigo , quantidade etc.
E tenho varios classes de produtos , por exemplo na Classe Bauru- Lanche eu tenho a opção adicionar ao carrinho ao clicar ele adiciona essa classe (objeto) ao list ,pro exemplo “ped.add(p1)” , e tenho a classe realizar pedido que é quando eu fecho a conta e chama o metodo pra mostrar o List (que esta dentro da classe pedido), só que nao esta retornando nada =X,

Classe pedido :

[code]package pacote.grafico;

import java.sql.Array;
import java.util.ArrayList;
import java.util.List;

public class pedido {
static String nome=“Teste”;
public String listapedidos[];

List<produtos> ped = new ArrayList<produtos>();

public  void prod (produtos pro){
	ped.add(pro);
}

public String imprimirprod (){
	
	for (produtos obj : ped){
		nome = obj.toString();
		String produto = nome;
		
	}
	return nome;
	
	//Metodo alternativo =)
	//for (int i = 0; i<ped.size();i++){
	//nome  = ped.get(0).getNome().toString();
	
		 
	//}
		
	
	//for (produtos obj : ped){
		//return obj.nome.toString();
		
	//}	

}
}
[/code]

Setei a variavel “nome” para Teste como um “teste” mesmo na hora de imprimir esta imprimindo “TESTE” ao invés do meu produtos =X.
Aguardo respostas , Abraços e desde ja Obrigado

[code]for (produtos obj : ped){
nome = obj.toString();
System.out.println("nome: "+nome);

    }   

[/code]

o que lhe retorna?

Tinha que retornar o nome e a quantidade , mas nao ta pegando de dentro do for…

[quote=JuniorMaia][code]for (produtos obj : ped){
nome = obj.toString();
System.out.println("nome: "+nome);

    }   

[/code]

o que lhe retorna?[/quote]

Porque vc não imprime o obj.toString direto, em vez de jogar o retorno de toString pra uma variável?

[quote=Ruttmann][quote=JuniorMaia][code]for (produtos obj : ped){
nome = obj.toString();
System.out.println("nome: "+nome);

    }   

[/code]

o que lhe retorna?[/quote]

Porque vc não imprime o obj.toString direto, em vez de jogar o retorno de toString pra uma variável?[/quote]

Mas como eu faria isso ? Eu nao estou conseguindo pegar nada que esta dentro do for =X
@EDIT : A vc esta falando pra fazer com o “Joptionpane” ou “systemout”? Não posso eu tenho que armazenar em uma variavel pois vou passar para uma lista depois =X

Vc sobreescreveu o método toString da sua classe “produto”?

Aproveitando, siga as boas práticas. Nomes de classes começando com letra maiúscula.

Posta a classe produto aí.

Classe Produtos :

[code]package pacote.grafico;

public class produtos {
private String codigo;
private String nome;
private double preco;
private int quantidade;

public String getCodigo() {
	return codigo;
}
public void setCodigo(String codigo) {
	this.codigo = codigo;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public double getPreco() {
	return preco;
}
public void setPreco(double preco) {
	this.preco = preco;
}
public int getQuantidade() {
	return quantidade;
}
public void setQuantidade(int quantidade) {
	this.quantidade = quantidade;
}

}
[/code]
Sobreescrever o toString?
Não como assim? vou dar uma procurada sobre isso …Obrigado

[quote=malinosqui]Classe Produtos :

[code]package pacote.grafico;

public class produtos {
private String codigo;
private String nome;
private double preco;
private int quantidade;

public String getCodigo() {
	return codigo;
}
public void setCodigo(String codigo) {
	this.codigo = codigo;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public double getPreco() {
	return preco;
}
public void setPreco(double preco) {
	this.preco = preco;
}
public int getQuantidade() {
	return quantidade;
}
public void setQuantidade(int quantidade) {
	this.quantidade = quantidade;
}

}
[/code]
Sobreescrever o toString?
Não como assim? vou dar uma procurada sobre isso …Obrigado[/quote]

Perguntei se vc sobreescreveu o toString pq no seu for vc faz “obj.toString()”. Na verdade vc tem que usar “obj.getNome()”

A sim eu uso

nome = obj.getNome();?
e do um return no final do metodo normalmente?

Ai depende… Pelo nome do seu método deduzo que vc quer pegar o nome de todos os produtos correto?

Do jeito que está aí vc soh vai retornar o nome do último produto da lista.

Exatamente cara ! se voce pudesse me dar uma luz seria grato =)

O que vc quer exatamente fazer?
Se é só imprimir, não precisa retornar nada. Basta ir imprimindo dentro do for;

Quero armazenar isso para usar em outro lugar , em uma Lista sei la , pode ser em uma Array ou String ne?Mas como pego o valor do for?

Vc já tem a lista de produtos “ped”. Pra que quer outra lista?

A lista ped armazena objetos , eu quero uma lista so com o nome =).

Cara, acho que vc nao precisa disso… Quando precisar o nome, vc usar a lista ped pegando o nome (obj.getNome()). Simples assim.
Não precisa ficar replicando dados.

É que vou usar isso numa Listview em outra classe.

E??
Vc ainda pode usar a mesma lista.

Não deixa , fala que a lista tem que ser String , sendo que a lista contem objetos e os objetos contem atributos , Strings , Int e double =X
Edit É a listview do android , so que acho que não muda nada .
Agora vou almoçar que a tarde tenho aula (de Java por sinal --’) kk,se voce puder continuar me ajudando agradeço até + cara

Vc ta tentando instanciar a JList com a lista? tipo “JList list = new JList(ped);” ???

Não conheço JList, mas não tem método para adicionar os elementos 1 a 1, sem ser direto na instanciação?

Pelo que vi aqui, a JList() recebe ou um Object[] ou um Vector<?>.

Enfim… Não sei como ela funciona hahaha.

Mas vc pode fazer o seguinte:

[code]
String[] lista = new String[pred.size()];
for (int i = 0; i < pred.seze(); i++) {
lista[i] = pred.getNome();
}

JList jList = new JList(lista);
}[/code]

Nem sei se vai rolar tb :lol:

EDIT: Vixi, ListView. Piorou kkkkkk, Nunca vi tb. Mas usando esse código que passei, vc consegue criar sua lista de String tb com algumas mudanças. :lol: