{"id":27598082,"url":"https://github.com/ewertondrigues02/java","last_synced_at":"2025-04-22T14:10:37.117Z","repository":{"id":288820490,"uuid":"969263418","full_name":"ewertondrigues02/java","owner":"ewertondrigues02","description":"Este repositório é exclusivo para conteúdo Java. Fique a vontade para explorar","archived":false,"fork":false,"pushed_at":"2025-04-19T20:44:23.000Z","size":105,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-04-19T21:12:18.716Z","etag":null,"topics":["class","java","oracle","project"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ewertondrigues02.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-19T18:53:45.000Z","updated_at":"2025-04-19T20:46:33.000Z","dependencies_parsed_at":"2025-04-19T21:12:22.513Z","dependency_job_id":"5ade7615-f838-4778-9f97-e4d5f06de962","html_url":"https://github.com/ewertondrigues02/java","commit_stats":null,"previous_names":["ewertondrigues02/java"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ewertondrigues02%2Fjava","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ewertondrigues02%2Fjava/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ewertondrigues02%2Fjava/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ewertondrigues02%2Fjava/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ewertondrigues02","download_url":"https://codeload.github.com/ewertondrigues02/java/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250255700,"owners_count":21400410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["class","java","oracle","project"],"created_at":"2025-04-22T14:10:36.492Z","updated_at":"2025-04-22T14:10:37.110Z","avatar_url":"https://github.com/ewertondrigues02.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[![Classe String](https://img.shields.io/badge/-Classe%20String-007acc?style=flat\u0026logoColor=white)](#classe-string-em-java)\n\n[![Classe Object](https://img.shields.io/badge/-Classe%20Object-007acc?style=flat\u0026logoColor=white)](#classe-object) - Em Breve \n\n[![Classe StringBuilder](https://img.shields.io/badge/-Classe%20StringBuilder-007acc?style=flat\u0026logoColor=white)](#classe-stringbuilder) - Em Breve\n\n[![Classe StringBuffer](https://img.shields.io/badge/-Classe%20StringBuffer-007acc?style=flat\u0026logoColor=white)](#classe-stringbuffer) - Em Breve \n\n[![Classe Math](https://img.shields.io/badge/-Classe%20Math-007acc?style=flat\u0026logoColor=white)](#classe-math) - Em Breve  \n\n[![Classe Integer](https://img.shields.io/badge/-Classe%20Integer-007acc?style=flat\u0026logoColor=white)](#classe-integer) - Em Breve  \n\n[![Classe System](https://img.shields.io/badge/-Classe%20System-007acc?style=flat\u0026logoColor=white)](#classe-system) - Em Breve  \n\n[![Classe Runtime](https://img.shields.io/badge/-Classe%20Runtime-007acc?style=flat\u0026logoColor=white)](#classe-runtime) - Em Breve \n\n[![Classe Exception](https://img.shields.io/badge/-Classe%20Exception-007acc?style=flat\u0026logoColor=white)](#classe-exception) - Em Breve  \n\n---\n  # Classe String em Java\nA classe String é uma das mais fundamentais da linguagem Java, utilizada para representar sequências de caracteres (textos). Ela pertence ao pacote java.lang e é imutável, o que significa que seu conteúdo não pode ser alterado após a criação do objeto.\n\n## 🚀 Características Principais\n\n✅ Imutabilidade: Toda operação sobre uma String cria um novo objeto. Isso melhora a segurança e a previsibilidade.\n\n✅ Classe Final: A classe String é final, o que significa que não pode ser estendida.\n\n✅ Interning: Strings literais são armazenadas no String Pool, otimizando o uso de memória.\n\n✅ Compatível com métodos de comparação, busca, substituição, divisão e conversão.\n\n## 🔧 Criação de Strings\n \n\n```\nString texto1 = \"Java\";\n```\n```         \nString texto2 = new String(\"Java\");\n```\nPara melhor desempenho e simplicidade, prefira sempre literals.\n\n## 📚 Principais Métodos\n\n### Método\tDescrição:\n \n**length()** -\tRetorna o número de caracteres\n**charAt(int index)** - \tRetorna o caractere no índice especificado.\n\n`substring(int beginIndex)` - Retorna uma nova String a partir de um índice.\n\n`equals(Object obj)` - Compara o conteúdo da String com outro objeto.\n\n`equalsIgnoreCase(String)` -\tCompara ignorando maiúsculas e minúsculas.\n\n`contains(CharSequence)` -\tVerifica se uma sequência está contida na String.\n\n`replace(CharSequence, ...)` -\tSubstitui partes da String.\n\n`split(String regex)` -\tDivide a String com base em uma expressão regular.\n\n`toUpperCase()` -\tConverte para letras maiúsculas.\n\n`toLowerCase()` -\tConverte para letras minúsculas.\n\n`trim()` -\tRemove espaços no início e fim.\n\n##### 👉 [Veja a documentação oficial completa dos métodos](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html#method-summary).\n\n## ⚖️ Comparação de Strings\n\n `==`  compara referência (endereços de memória).\n\n`equals()` compara conteúdo textual.\n\n`compareTo()` compara lexicograficamente e retorna:\n\n`0` se forem iguais,\n\n  valor negativo se a String for menor,\n\n  valor positivo se for maior.\n\n```\nString a = \"Java\";\nString b = \"Java\";\n\nSystem.out.println(a == b);       // true (referência igual por ser literal)\nSystem.out.println(a.equals(b));  // true (conteúdo igual)\n```\n\n## 🧪 Strings e Expressões Regulares\nA classe String é compatível com expressões regulares, facilitando tarefas como validações e extrações:\n\n```\nString email = \"exemplo@email.com\";\nboolean valido = email.matches(\"^[\\\\w.-]+@[\\\\w.-]+\\\\.\\\\w+$\");\n```\n\n## 🛡️ Segurança e Performance\nPor ser imutável, String é segura para uso em ambientes concorrentes.\n\nPara operações intensivas com texto, utilize StringBuilder ou StringBuffer.\n\n## 🧠 Dica de Boas Práticas\n\nEvite usar new String(...) desnecessariamente.\n\nPrefira o uso de StringBuilder em loops.\n\nSempre use equals() ao comparar strings, nunca ==.\n\n## 📎 Links Úteis\n\n##### 📄 [Documentação oficial da classe String](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html)\n\n##### 📄 Guia sobre Strings da Oracle\n\n##### 🧵 [Java String Pool](https://docs.oracle.com/javase/tutorial/java/data/strings.html)\n\n##### 📚 Comparação entre String, StringBuilder e StringBuffer\n\n\n# Diagrama da Classe *String*\n---\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/1c5eb3ac-291c-4882-a1cd-586966f5e12d\" height=\"400\" width=\"700\"/\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fewertondrigues02%2Fjava","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fewertondrigues02%2Fjava","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fewertondrigues02%2Fjava/lists"}