Tenho um array de sem posicoes de um classe interna no caso itens de um pedido, so que como eu vou controlar? tentei limitar o uso a 100 itens no maximo pois crei um array com este tamanho mais isso é temporario pois alem de feio é coisa de porco, andei pesquisando e vi que a melor saida seria usar arrayList porem nao sei como usar alguem pode me ajudar?
segue o codigo hoje!
package pedidos;
import entid.Cliente;
import entid.Produto;
import java.util.ArrayList;
public class Carrinho {
private Cliente cliente = new Cliente();
private Item[] itens = new Item[100];
//private List itenss = new ArrayList();
private int indice;
boolean vazio;
public void Carrinho(){
setCliente(null);
indice = 0;
int i = 0;
vazio = true;
}
public void addItem(String prod, int quant, String descr)
{
Item item = new Item();
item.setProd(prod);
item.setQuant(quant);
item.setDescr(descr);
itens[getIndice()] = item;
setIndice();
vazio = true;
}
public boolean getVazio(){
return vazio;
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public Item getItem(int ind){
return itens[ind];
}
public void setItem(int ind , Item iten){
this.itens[ind] = iten;
}
public int getIndice() {
return indice;
}
public void setIndice() {
this.indice++;
}
public void rmIndice(){
this.indice--;
}
}
no caso eu teria que depois pesquisar se um dado item ja foi incluido existe alguma funcao pra isso no arraylist?
por exemplo tenho item 1 e item 2 no arraylist agora o user vai inserir mais um item porem é do mesmo produto do item 2 existe algum funcao que me retorne o indice do item 2?
Abra o prompt de comandos(DOS) e digite o comando
java -version
e veja qual a versao do java q vc tem instalado na sua maquina
Pode ser q o netbeans use outro compilador q naum seja o da sua maquina entao preciso ver qual o compilador q ele usa
Nao trabalho com o netbeans mais acredito q para ver a versao do java e parecido com o eclipse
Clique com o direito na pasta do seu projeto e va em properties e depois em java Compiler (ou algo parecido)
La tera a versao do compilador java JDK q ele utiliza
java version “1.6.0_03”
Java™ SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot™ Client VM (build 1.6.0_03-b05, mixed mode, sharing)
creio que seria a mais atual?
Valeu pela ajuda galera, estive olhando o collections vai dar certo caso eu consiga fazer funcionar, galera estou vendo aqui sera que pode ser por conta de ser um projeto web???
pois abri um projeto desktop e fiz as mesmas linhas de codigo e funcionou…
Galera, me desculpem a ‘intrometeção’, mas queria saber por que usar List<> intens = new ArrayList<> do que ArrayList<> itens = new ArrayList<>.
Acabei de fazer prova sobre herança e polimorfismo, mas confesso que polimorfismo to boiando
com List<> vc programa para interface.
com ArrayList<> vc programa para classes e vc tem menos flexibilidade.
qualquer coisa pode ser uma List<> - LinkedList, Vector, ArrayList. Porem quando vc usa apenas o ArrayList so pode ser arrayList.
Ah quando vou usar isso?
Bom imagine a situação vc desenvolve um modulo, que precisa de uma lista… se vc pode como ArrayList vc está dizendo que os metodos nao vai ser sincronizado que so pode ser do tipo list… ai vamos dizer que outro programador de outro departamento use esse modulo seu tb… so que ele precisa sincronizar os processo entao com List<> ele pode usar um Vector por exemplo e manipular a lista tranquilamente… ao contrario do outro.
ArrayList – Vector; invalido - nao posso passar um vector para Arraylist
List – vector; valido. posso passar um vector para List
espero ter ajudado!! Tenha em mente que programar para interface sua classe vai ter mais flexibilidade.