| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2006 23:36:49
|
nilolima
JavaChild
![[Avatar]](/images/avatar/220787ad7829c9cbc7e9953cb1c36fb3.jpg)
Membro desde: 09/07/2005 05:05:19
Mensagens: 136
Localização: Acre
Offline
|
Galera eu fiz um concurso domingo e caiu um código em JAVA e algumas questões, olhem só essa afirmativa.
O tipo ArrayList, que implementa uma lista utilizando um array, emprega uma estrutura linear com contiguidade.
Eu marquei errada pq nunca ouvi falar que um arraylist era implementado com array. Que peguei o gabarito vi que essa afirmativa tava verdadeira.
Será que é verdadeiro mesmo, lendo o javadoc da SUN não vi nada sobre isso. Se alguem concordar comigo passem materia para eu entrar com recurso, por favor.
Tinha outra também, olhem só
String é um tipo de dados estruturado.
Eu abarquei falso, chegou no gabarito era verdadeiro. Alguém discorda?
|
Tecnólogo em Sistemas para Internet - CEFETPB |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2006 00:30:52
|
alexandremlima
JavaChild
![[Avatar]](/images/avatar/426f990b332ef8193a61cc90516c1245.jpg)
Membro desde: 29/12/2003 09:01:59
Mensagens: 129
Localização: Salvador-BA
Offline
|
Infelizmente você realmente errou as duas questões.
Na primeira questão, o ArrayList realmente implementa um array dinâmico para que o programador não precise se preocupar em pré-alocar o tamanho real do array. No código-fonte, ele usa um array normal de Java para guardar os dados na mesma ordem em que foram inseridos, logo é uma estrutura linear com contiguidade.
Na segunda questão, é uma típica pegadinha de concurso público. Uma classe Java nessas provas de concurso sempre são associadas a tipos estruturados, numa clara alusão aos structs de C e records de Pascal. String é uma classe dentro da linguagem Java e portanto, é um tipo de dados estruturado.
Não fique triste, també já cai um monte nessas questões de concurso até aprender a como lidar com elas.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2006 00:39:21
|
nilolima
JavaChild
![[Avatar]](/images/avatar/220787ad7829c9cbc7e9953cb1c36fb3.jpg)
Membro desde: 09/07/2005 05:05:19
Mensagens: 136
Localização: Acre
Offline
|
Cara essa do array é revoltante, os dados estão encapsulados. Teoricamente eu nao deveria me preocupar com a forma que um ArrayList é implementado isso é abstrato para mim.
Achei um código fonte de ArrayList http://developer.classpath.org/doc/java/util/ArrayList-source.html
Essa do tipo estruturado é fod.... String é um objeto, mas fazer oq é so se conformar mesmo.
Valeu
|
Tecnólogo em Sistemas para Internet - CEFETPB |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2006 10:09:27
|
pm
JavaEvangelist
Membro desde: 28/01/2005 12:42:15
Mensagens: 438
Offline
|
Não, String não é um objeto. String é uma classe !
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2006 11:54:51
|
ystaile
Debugger
![[Avatar]](/images/avatar/3413ce14d52b87557e87e2c1518c2cbe.jpg)
Membro desde: 08/04/2005 20:12:45
Mensagens: 73
Offline
|
String é um objeto..... ela fica no Heap e tudo mais!
|
Fábio José de Morais
Desenvolvedor Java
SCJP 1.5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2006 11:59:39
|
alexandremlima
JavaChild
![[Avatar]](/images/avatar/426f990b332ef8193a61cc90516c1245.jpg)
Membro desde: 29/12/2003 09:01:59
Mensagens: 129
Localização: Salvador-BA
Offline
|
String é uma classe. As instâncias de uma classe é que são os objetos.
Portanto, se o código for assim:
String é a classe e palavra é o objeto.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2006 12:02:41
|
ystaile
Debugger
![[Avatar]](/images/avatar/3413ce14d52b87557e87e2c1518c2cbe.jpg)
Membro desde: 08/04/2005 20:12:45
Mensagens: 73
Offline
|
é ... isso mesmo. A referencia fica na pilha e o objeto no heap.
|
Fábio José de Morais
Desenvolvedor Java
SCJP 1.5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2006 14:15:07
|
pm
JavaEvangelist
Membro desde: 28/01/2005 12:42:15
Mensagens: 438
Offline
|
e onde a String é um objeto ?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2006 16:17:43
|
clodoaldoaleixo
JavaEvangelist
![[Avatar]](/images/avatar/e04c14a66e1b274695546dc89e1c20ec.jpg)
Membro desde: 14/11/2006 19:38:46
Mensagens: 371
Offline
|
alexandremlima wrote:String é uma classe. As instâncias de uma classe é que são os objetos.
Portanto, se o código for assim:
String é a classe e palavra é o objeto.
Errado....
String é a classe.
palavra é uma referência a um objeto do tipo String, mas o objeto mesmo só será criado quando vc utilizar....
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2006 16:20:50
|
maquiavelbona
JWizard
![[Avatar]](/images/avatar/24bea84d52e6a1f8025e313c2ffff50a.jpg)
Membro desde: 29/06/2006 09:06:51
Mensagens: 2447
Localização: São Paulo - SP
Offline
|
clodoaldoaleixo wrote:
Errado....
String é a classe.
palavra é uma referência a um objeto do tipo String, mas o objeto mesmo só será criado quando vc utilizar....
palavra = " " é uma maneira implícita de chamar palavra = new String(" ");
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2006 16:48:21
|
Mantu
GUJ Ranger
![[Avatar]](/images/avatar/35285aa740b37f0b1933da97bf4ca4b9.jpg)
Membro desde: 27/03/2006 09:05:16
Mensagens: 961
Localização: São Paulo/SP
Offline
|
clodoaldoaleixo wrote:
String é a classe.
palavra é uma referência a um objeto do tipo String[...]
Quase certo...
String, de fato, é a classe. Porém, palavra, embora comumente digamos que seja uma referência, não é!
Recentemente respondi um tópico no fórum da sun e, a duras penas, aprendi alguns detalhes bem sacanas:
No nosso caso aqui, palavra é uma variável de referência (reference variable), e não uma referência propriamente dita. Temos variáveis de referência e variáveis primitivas (primitive variables).
Suponha isso aqui:
Eu achava que idade fosse uma referência de tipo int e que nome fosse uma referência de tipo String. Mas eu estava utilizando a terminologia de forma errada... Como o cara que me corrigiu lá no fórum da sun disse:
jverd (+ ou - traduzido...) wrote:nome é uma variável de tipo int, e nome é uma variável do tipo "referência para String"
O negócio fica assim: palavra é uma variável, cujo valor é uma "referência para String". Esta referência "aponta" para um objeto String na memória (no heap).
[url=http://forum.java.sun.com/thread.jspa?threadID=5116250]
Dêm uma olhada no tópico em que (quase) fui esculachado por conta desse tema sacana[/url] O meu post é o reply 44. Podem dar uma lida até o post 48, dando atenção ao post 46 (onde eu me lasco...)
Agora, quanto a isso aqui:
clodoaldoaleixo wrote:[...], mas o objeto mesmo só será criado quando vc utilizar....
Assino embaixo do que o maquiavelbona disse.
|
|
|
 |
|
|