No Dart, todos os tipos são objetos. Isso significa que até mesmo os tipos primitivos como int, double, bool e String são instâncias de classes. Essa característica confere a eles a capacidade de ter métodos associados.
Esses são alguns dos métodos mais comuns para os tipos mais utilizados no Dart:
abs(): Retorna o valor absoluto do inteiro.
int numero = -5;
int absoluto = numero.abs(); // absoluto será 5
toDouble(): Converte o inteiro para um valor do tipo double.
int inteiro = 10;
double decimal = inteiro.toDouble(); // decimal será 10.0
toString(): Converte o inteiro para uma representação em String.
int numero = 123;
String texto = numero.toString(); // texto será "123"
Operadores aritméticos:
+ → adição
- → subtração
* → multiplicação
/ → divisão
~/ → divisão inteira
% → módulo
abs(): Retorna o valor absoluto do double.
double valor = -3.14;
double absoluto = valor.abs(); // absoluto será 3.14
toInt(): Converte o double para um valor do tipo int, truncando a parte decimal.
double decimal = 7.89;
int inteiro = decimal.toInt(); // inteiro será 7
toString(): Converte o double para uma representação em String. Você pode usar toStringAsFixed(n) para especificar o número de casas decimais.
double pi = 3.14159;
String texto1 = pi.toString(); // texto1 será "3.14159"
String texto2 = pi.toStringAsFixed(2); // texto2 será "3.14"
Operadores aritméticos: +, -, *, /.
toString(): Converte o booleano para sua representação em String ("true" ou "false").
bool verdadeiro = true;
String texto = verdadeiro.toString(); // texto será "true"
Operadores lógicos:
! → negação
&& → AND lógico
|| → OR lógico
length: Retorna o número de caracteres na string. (Não é um método, mas uma propriedade importante).
String mensagem = "Olá, Dart!";
int tamanho = mensagem.length; // tamanho será 10
toLowerCase(): Retorna uma nova string com todos os caracteres em minúsculo.
String texto = "Dart É Legal";
String minusculo = texto.toLowerCase(); // minusculo será "dart é legal"
toUpperCase(): Retorna uma nova string com todos os caracteres em maiúsculo.
String texto = "Dart É Legal";
String maiusculo = texto.toUpperCase(); // maiusculo será "DART É LEGAL"
trim(): Retorna uma nova string removendo espaços em branco no início e no final.
String textoComEspacos = " Espaços ";
String textoLimpo = textoComEspacos.trim(); // textoLimpo será "Espaços"
substring(startIndex, [endIndex]): Retorna uma nova string que é uma parte da string original, começando em startIndex (inclusivo) e terminando em endIndex (exclusivo). Se endIndex for omitido, a substring vai até o final da string.
String frase = "Linguagem Dart";
String parte1 = frase.substring(0, 9); // parte1 será "Linguagem"
String parte2 = frase.substring(10); // parte2 será "Dart"
split(Pattern): Divide a string em uma lista de substrings com base em um padrão (que pode ser outra string ou uma expressão regular).
String nomes = "Ana, João, Maria";
List<String> listaDeNomes = nomes.split(", "); // listaDeNomes será ["Ana", "João", "Maria"]
contains(Pattern): Retorna true se a string contém o padrão especificado, e false caso contrário.
String email = "usuario@exemplo.com";
bool temArroba = email.contains("@"); // temArroba será true
startsWith(Pattern): Retorna true se a string começa com o padrão especificado.
String arquivo = "imagem.png";
bool comecaComImagem = arquivo.startsWith("imagem"); // comecaComImagem será true
endsWith(Pattern): Retorna true se a string termina com o padrão especificado.
String arquivo = "documento.pdf";
bool terminaComPdf = arquivo.endsWith(".pdf"); // terminaComPdf será true
indexOf(Pattern): Retorna o índice da primeira ocorrência do padrão na string. Retorna -1 se o padrão não for encontrado.
String frase = "O rato roeu a roupa.";
int indiceDoRato = frase.indexOf("rato"); // indiceDoRato será 2
replaceAll(Pattern, String): Retorna uma nova string onde todas as ocorrências do padrão são substituídas pela string de substituição.
String texto = "maçã banana maçã";
String textoSubstituido = texto.replaceAll("maçã", "laranja"); // textoSubstituido será "laranja banana laranja"
Estes são alguns dos métodos mais comuns para os tipos fundamentais do Dart. Como todos são objetos, você pode explorar cada tipo do Dart para descobrir a gama completa de métodos disponíveis para cada um. Essa rica variedade de métodos facilita a manipulação e o trabalho com dados no Dart.