String é um dado Primitivo?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Daniel Ilha
JavaBaby

Membro desde: 23/06/2006 11:42:08
Mensagens: 79
Localização: Porto Alegre
Offline

Os dados primitivos são 8 (char,boolean,byte,int,short,long,float,double)
Inteiros
Byte = 8 bits
Short = 16 bits
Int = 32 bits
Long = 64 bits
Números Reais
Foat(precisão simples) = 32 bits
Double(precisão dupla) = 64 bits
A diferença entre precisão simples e dupla se restringe ao número de casas decimais apresentada.
Outros Tipos
Char(caracter simples) = 16 bits
Boolean = 1 bit(verdadeiro ou falso)

Um dado do tipo String pertence a uma classe String, deixando de ser um dado primitivo.

Dúvida: Dado Primitivo = Dado Nativo?

Gostaria que vcs, dessem uma olhada na minha resposta e se tiver algo a acrescentar ou corrigir agradeço.

SDS.
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

String não é um tipo primitivo - deriva de java.lang.Object.

É que ele é tratado especialmente pela linguagem.

O que é um "dado nativo"?


[WWW]
pimenta
Java Ninja
[Avatar]

Membro desde: 14/04/2008 15:33:08
Mensagens: 293
Localização: Niterói/RJ
Offline

O que não for boolean, char, byte, short, int, long, float ou double (com letras minúsculas) não é primitivo.

Abraços,

--------------------------------------------

PIMENTA

--------------------------------------------
[MSN]
miguel.horlle
Entusiasta Java
[Avatar]

Membro desde: 16/05/2008 19:33:39
Mensagens: 18
Localização: São Paulo - SP
Offline

String não é um dado primitivo em Java.
Dados primitivos em Java, são todos aqueles que não derivam de Object. Em java para cada tipo primitivo existe um Wrapper correspondente. Esse wrapper nada mais é que uma forma de encapsular o tipo primitivo em um objeto para promover um dos principais pilares do OO.
Como foi falado pelo colega thingol, ele é tratado de forma especial no Java, ele é imutável.
Isso significa que sempre que você modifica um Objeto do tipo String, a JVM na verdade está criando uma cópia do objeto em si.

Espero ter acrescentado algo à discução, se estiver errado ou imcompleto me corrijam por favor.

sorte

Miguel A. Baldi Hörlle
Desenvolvedor Java e entusiasta de Ruby/Rails

href="http://feeds.feedburner.com/~r/1up4dev/~6/1">src="http://feeds.feedburner.com/1up4dev.1.gif"
>

href="http://www.feedburner.com/fb/a/headlineanimator/install?id=2063622&w=1"
target="_blank">↑ Grab this Headline
Animator

[WWW] [MSN]
Daniel Ilha
JavaBaby

Membro desde: 23/06/2006 11:42:08
Mensagens: 79
Localização: Porto Alegre
Offline

Valeu Pessoal!!!

Dado nativo, eu tirei do livro que estou lendo.
"Introdução a Programação Orientada a Objetos usando JAVA de Rafael Santos."

Existe uma frase que diz: "Existem poucos tipos dados nativos em java.... que não são parte da linguagem e não são instâncias de outras classe.."
Obs.Estou no início do livro.

lopima
Debugger

Membro desde: 08/04/2008 08:26:20
Mensagens: 70
Offline

Cara java tem algumas maneiras de identificar oque é oque. tipo Toda Classe começa com letra maiuscula, todo metodo começa com letra minuscula, variaveis tbm são como os metodos começando com letra minuscula. Java trata String como objetos e não como tipo primitivos como por exemplo um char, um exemplo disso é que quando você atribui uma String para uma variavel, como por exemplo.


é como se você fizesse algo do tipo


espero ter ajudado.
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

Daniel Ilha wrote:Os dados primitivos são 8 (char,boolean,byte,int,short,long,float,double)
Inteiros
Byte = 8 bits
Short = 16 bits
Int = 32 bits
Long = 64 bits
Números Reais
Foat(precisão simples) = 32 bits
Double(precisão dupla) = 64 bits
A diferença entre precisão simples e dupla se restringe ao número de casas decimais apresentada.
Outros Tipos
Char(caracter simples) = 16 bits
Boolean = 1 bit(verdadeiro ou falso)

Um dado do tipo String pertence a uma classe String, deixando de ser um dado primitivo.

Dúvida: Dado Primitivo = Dado Nativo?



Boolean é um bit logico, mas é fisiciamente um byte. A menor unidade do java é byte, não bit.
Boolean = 1 byte
byte = 1 byte
short = 2 byte (com sinal)
char = 2 byte (sem sinal)
int = 4 bytes
long = 8 bytes
float = 4 bytes
double = 8 bytes

A diferença entre float e double não é a virgual é o passo. ou seja, a menor distancia entre dois numeros

tipo nativo = aquele que o processador usa
tipo primitivo = aquele que não é um objeto ou composto
tipo de "primeira classe" ( first class citizen) = aquele que sendo primitivo ou não é muito importante e tratado
de forma especial pela linguagem, compilador e runtime.

O java é independente do CPU logo ele não trabalha com tipos nativos. Todos os tipos primitivos são
construidos com tipos nativos pelo JVM mas o java em si não manipula isso.
String é um objeto e portanto não é primitivo. Ele é contudo um tipo especial, ele é um tipo de "primeira classe" ou seja,
ele tem tratamento diferenciado pela espciiifcação, sintaxe e runtime.Array seria um outro tipo que é de "primeira classe'


Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
victorwss
JWizard
[Avatar]

Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline

sergiotaborda wrote:...


De primeira classe temos:
java.lang.Object
Arrays
java.lang.String
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
java.lang.Iterable
java.lang.Thread
java.lang.Class
Classes empacotadoras (desde o java 5)
Boa parte das Exceptions e Errors do java.lang.

E deve haver mais algumas.

This message was edited 2 times. Last update was at 19/05/2008 17:39:16


Victor Williams Stafusa da Silva

Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.

Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.


É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
[MSN]
Daniel Ilha
JavaBaby

Membro desde: 23/06/2006 11:42:08
Mensagens: 79
Localização: Porto Alegre
Offline

Muito obrigado pessoal!!!

Um dia eu chego lá!!!!
Daniel Ilha
JavaBaby

Membro desde: 23/06/2006 11:42:08
Mensagens: 79
Localização: Porto Alegre
Offline

Para firmar conceito:

O byte é a menor unidade em java.

Se tivesemos que desmembrar um byte e trabalhar com seus bits, como seria o comportamento?

SDS.
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

Daniel Ilha wrote:Para firmar conceito:

O byte é a menor unidade em java.

Se tivesemos que desmembrar um byte e trabalhar com seus bits, como seria o comportamento?


seria o esparado. O ponto é que não existe um tipo de dado "bit". Se vc quiser trabalhar apenas com um bit utilize boolean ( que embora sendo um byte simula um bit). Ou use um byte, short ou int e utilize apenas o primeiro bit.

Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
Daniel Ilha
JavaBaby

Membro desde: 23/06/2006 11:42:08
Mensagens: 79
Localização: Porto Alegre
Offline

Valeu Sérgio!!

Minhas perguntas estão sendo primárias, mas são dúvdas que aparecem quando estou estudando.
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team