- 1. java mundo capolo 6 2http: // gustavoal bem-vindo a uma nova edição javaworldb nós damos bem-vindo Novamente para nossos amigos de valor criativo Leo, bem-vindo à vida real novamente!. Nesta parcela, estaremos falando um pouco sobre as expectativas na indústria de computadores. Muito até todos aqueles que estão a um passo ausente ou dentro do Mbito de Entrepreneurs.l Retornar à Certificação, começaremos a entrar na API Java especializada para entrada e saída de dados. Sim, para agora você pode ler que .txt com todos os telphones que você pegou o SBado e passá-lo para sua agenda desenvolvida em Java. .B Nós vamos aprender a persistir nossos objetos com o modelo de serialização que nos propõe nativamente Java, um lucro L, em princípio, não depender de um banco de dados, mas que terá um valor agregado quando trabalhamos enviando mensagens através da Internet com esse mesmo método com esse mesmo método. 😉 G Estamos na contagem regressiva nas edições Javaworld, existem apenas 4 capítulos. Aproveite a extração de dúvidas, enviando comentários ou por e-mail (os dados podem ser obtidos em blogs). PO aproveitamos a oportunidade para agradecer ao apoio recebido pela comunidade e a boa onda para avançar com este projeto..c graças a All.o a equipe da revista Javaworldm
2. 3Java World Capulcionário 6 h A classe T String Como mencionamos em capturas anteriores, a classe de string não pode ser modificada. Então, como podemos associar diferentes strings à mesma variável de tipo de string? P string é um objeto imutável: / imutável essa palavra. E o que isto quer dizer? Simples, exatamente que um objeto de string não pode alterar seu valor, mas em nenhum momento é mencionado que uma variável de seqüência não pode apontar para outro objeto. v Vamos ver alguns exemplos para entendê-lo melhor: um teste de classe públicaString_001 {Public Public Static Principal (String Args) {ou String S1 = Nova String (“Olá”); r string s2 = “javaworld”; c System.out.println (S1); R system.out.println (s2); E S1 = S1 + “-“; para s2 = s2.touppercase (); // passa para maysculas o sistema de corrente t.out.println (S1); I System.Out.println (s2); v System.out.println (S1.Concat (S2)); // Concatena duas correntes. É equivalente a S1 + S2 ou. String s3 = s2; B}} L O GHOLA SJAVAWORLD PHOLA-JAWAWORLD OHOLA-JAVAWORLD T. Agora você pode estar se perguntando, mas não disse que uma string era imutável? Sim, é, mas reiterar, ninguém diz que uma variável de string c não pode referenciar outro objeto. Ou graficamente veja o mapeamento de memória: M 3. Captura mundial de Java 6 4H 0000 000B 001F0020 002C 002D – 00410042 – 0051 T Hello JavaworldHola-Javaworld Hi Javaworld TP: S1 S2system.Out.println (S1.Concat (S2); / Olá Javaworld / G U1 = Nova String (“Olá”); S1S2S3S S2 = “Javaworld”; Olá-Javaworld Javaworld T S1 = S1 + “-“; A S2 = S2.Touppercase (); v ou cada carta dentro de uma string está no formato UFT-16. As posições de memória mostradas acima são a Olola para exemplificar. O comportamento do armazenamento é dirigido pela JVM em conjunto com o sistema operacional. Quando as variáveis são inicializadas, os valores são atribuídos Hello e Javaworld, aqui é quando criamos nossos dois primeiros objetos de string de tipo. E então, para S1 nós concatenamos – e salvo o resultado na mesma variável, o que faz com que um novo objeto seja gerado e a RR atualiza a referência para apontar para isso. Ou S2 transformado em maysculas. Novamente outro objeto é gerado e armazenamos a referência no S2. L E finalmente, gerimos uma saída na tela S1 + S2. Nesse caso, um novo objeto também é gerado, com a exceção de que a referência não captura ninguém. Uma vez que esteja na tela, essa variável é uma candidata a ser liberada pelo lixo ao coletor. Como eles podem ter notado, em nenhum momento nenhum objeto é modificado, mas se eles mudaram as referências B de S1 e S2. L Para LTIMO, quando criamos um novo objeto (S3), e atribuímos o valor do S2, um novo objeto não é criado, a mesma posição de memória é atribuída. Tempo que eles geram uma nova cadeia, um novo objeto de string é gerado, sempre. A exceção sem alimentos é a Scuando atribuindo o valor de uma variável de string para outra. Neste caso, ambos apontam para a mesma posição PDE Memory.o T. Cadeia e memória C Desde uma cadeia é algo tão comum, e para poder otimizar a memória, a JVM reserva uma área especial de memória ou assim chamado conjunto constante de string (banco de constantes string). Quando o compilador encontra um literal tipo string, Verificam no banco, se houver outra cadeia idêntica. Se alguém é um, diretamente referido a isso, mas, um novo objeto de string é criado. A classe de string contém o modificador de não acesso. Isso significa que não é possível sobre escrever a classe.Criação de correntes Há uma diferença sutil entre criar uma string por um literal e um objeto: 4. 5Java World Cappulo 6String S1 = “Javaworld” C cria uma variável de referência (S1) e um objeto de string, que é armazenado na constante de string banco e associado com S1. t string S2 = nova string (“javaworld”) T Uma variável de referência é criada (S2). À medida que usamos a nova palavra-chave, um objeto de string é criado fora do banco de constantes p string e s2 referência. Então, o literal Javaworld é inserido no banco. : MTS da classe de string / string O MS MS usado da classe de string é nomeado: / Tipo de valor de devolução do MTDodesccciL V Charchart (Int Index) retorna o caractere localizado no índice especificado. o StringConcat (string str) Adiciona uma string no final de outra (equivalente a usar +). R Boolean EqualsignOrecase (String Outro Tring) indica se duas cadeias são as mesmas, sem levar em conta os Maysculas. C int Length () retorna o número de caracteres que a cadeia contém. R stringreplace (personagem de char, carreemplaza cada característica com o recurso. E FeatureNew) para stringsubstring (int homeindice, int ampliandice) Retorna uma nova string com os caracteres compreendidos da casa de T para Finistrado. Eu stringtolowercase () converte os caracteres em MinSCula. v StringTostring () Retorna o valor de uma string (dada que é uma string, ela é retornada a s ou a mesma). . String touppercase () converte os caracteres em mayscula. A guarnição da corda () elimina espaços em branco no início e no final da corrente. B para MS Information pode consultar Java LHTTP API: //java.sun.com/j2se/1.4.2/docs/api/java/lang/string.html OG Shay que destacam que o tipo de string tem um método LTGTH (), E as matrizes têm um parâmetro comprimento.Pot StringBuffer e StringBuilder. Quando vamos usar muitas cadeias, podemos usar as classes java.lang.stringbuffer ou java.lang.stringbuilder. Ao contrário da corda C, com a qual geramos várias cadeias, elas serão armazenadas no banco constante de string, essas novas classes não serão armazenadas nesta última, mas aproveitam o mesmo espaço de memória. M stringbuffer vs. StringBuilder A classe StringBuffer foi incorporada a partir de Java Versão 5. Tem exatamente a mesma API como StringBuilder, a menos que não seja segura de thread (multi-telefone com segurança). Em outras palavras, os métodos não são sincronizados. Java recomenda sempre que possível, use o StringBuilder, já que é muito mais rápido do que sua irmã StringBuffer. Solo StringBuilder não é segrea de thread.stringBuffer se for thread-safe.ambes compartilham a mesma API.Quando precisamos que seja seguro, vamos usar StringBuffer. 5. Java World Captulo 6 6Utilizando StringBuffer y StringBuilder ht String s1 = “JavaWorld”;//Se aade un String al banco de constantes String s1 += “. Vamos por ms”;//Se genera un nuevo String, y la referencia al anterior se pierde tp //Se crea un StringBuffer (no va al banco de constantes String) StrungBuffer s1 = new StringBuffer(“JavaWorld”);: s1.append(“. Vamos por ms”);//Se modifica el mismo objeto (no se crea un nuevo String) / Mtodos importantes en las clases StringBuffer y StringBuilder/ g Valor de retorno MtodoSobrecarga Descripcin Ejemplo StringBuffer s = new u StringBuffer/append(String s)SI Concatena la cadena sa la StringBuilder cadena dentro del objeto StringBuffer (“Quero ser”); s s.apend (“um scjp!”); (Não é necessário pegar o // Eu quero ser um SCJP! T Referência para que a mudança seja feita). v StringBuffer / Excluir (Int Home, Noelimine O subcadeno dentro StringBuffer S = New StringBuffer (“Eu quero ser um StringBuilderint ENT) da cadeia de objetos SCJP!”); S.Delete (10, 13); // Eu quero a partir da posição para começar o SCJP! l Posição final. StringBuffer / Insert (Intindex, se você inserir uma nova string (s) StringBuffer S = NewB StringBuffer (“Eu quero scjp”); stringbuilderstring s) de posicin s.insert (7, “seja A”); e indicado pelo índice dentro // Eu quero ser um SCJPR da cadeia de objetos. StringBuffer S = Nova StringBuffer (“PJCS”); l stringbuilder s.revert (); // scjp para string Tostering () NODevuelve uma string com o stringbuffer s = novo stringbuffer (“scjp”); . Valor do objeto String s1 = s.Testring; // SCJP BL É possível que eles estejam no exame com métodos falhos, estes são resolvidos simplesmente à esquerda para a esquerda, e o resultado de um método, é o objeto que o segundo.gs usa um exemplo de equivalências: p StringBuffer S = Novo stringbuffer (“um scjp”); ou s.reverse (). Excluir (4, 7) .pppend (“… um quem?”). Inserir (0, “eu quero ser um”); t system.out.println (s); // Eu quero ser um pjcs … um isso?. Stringbuffer s2 = novo stringbuffer (“um scjp”); c s2.reverse (); ou s2.delete (4, 7); S2.Append (“… um que?”); M s2.insert (0, “quero ser um”); System.out.println (S2); // Eu quero ser pjcs … um isso?StringBuffer e StringBuilder, assim como string, não requerem nenhuma importação. 6. 7 Java World Capt