Alguém saberia me dizer como fazer uma alocação dinâmica de memória em Java [se é que é possível]? Lá em C era var = (tipo)malloc(sizeof(numseioquelá…) E em Java?
Problema: ler uma expressão numérica em uma string e criar um vetor de strings com cada número ou operador em uma posição na string. Esta deve crescer dinamicamente à medida em que a primeira string é lida.
Se algum santo puder me iluminar, ficaria muito agradecido! :lol:
Em Java o conceito de alocação de memória é um pouquinho diferente do que vemos em C/C++. Para começar em Java não temos ponteiros, pelo menos não explicitamente. O que de fato acontece é que em Java qualquer alocação de memória é feita de maneira dinâmica (com exceção de alocação de tipos primitivos), pois quase tudo em Java é objeto.
Os objetos em java sào acessados através de uma referência. Quando utilizamos a palavra reservada new estamos alocando dinamicamente memória para aquele objeto e retornando uma cópia da referência a esta posicão de memória, para o que estivermos usando como identificador do atributo (sua “variável”).
Até mesmo vetores são objetos em Java e, assim, sempre são alocados dinâmicamente.
Uma leitura neste artigo pode te ajudar um pouco a entender isso também.