Como utilizar a função isDigit?

Bom dia a todos, estou tentado resolver um exercicio que precisa definir se o conteudo de um TextField é um numero ou uma string.
Estou tentando utilizar o metodo isDigit, mas não estou conseguindo alguém pode me ajudar?

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Character.html#isDigit(char)

Cara, acho que essa validação pode ser mais otimizada. Tenta fazer algo assim:

try{
   /* Recuperar o texto do JTextField */
   String number = ...   

   new Integer(number);
} catch(NumberFormatException e) {
   /* Ops...o texto informado no JTextField não é um número */
}

No momento da instanciação, dependendo do tamanho do número, você troca o objeto a ser instanciado. Por exemplo, trocar de Integer para Long.

[]'s.

O jeito correto (mais rápido e mais simples) de ver se uma string representa um valor numérico é criar uma função que tenta efetuar a conversão. Se a conversão for bem-sucedida, o valor é realmente numérico.

package exemplos;

import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.ParsePosition;
import java.util.Locale;

public class Numerico {
	// Aqui estamos vendo se o valor é numérico e inteiro.
	// Por incrível que pareça, esse é o método mais rápido em Java.
	public static boolean isNumeric (String s) {
		try {
			Long.parseLong (s);
		} catch (NumberFormatException ex) {
			return false;
		}
		return true;
	}
	// Aqui estamos vendo se o valor é monetário (exemplo: 12.345,67)
	// e em notação brasileira. A declaração de "brazilianCurrencyFormat"
	// abaixo é um pouco complexa, mas é necessária para evitar problemas
	// em servlets, JSPs e outros ambientes "multi-threaded".
	private static ThreadLocal<NumberFormat> brazilianCurrencyFormat = new ThreadLocal<NumberFormat> () {
		@Override protected NumberFormat initialValue() {
			return new DecimalFormat ("#,##0.00", new DecimalFormatSymbols (new Locale ("pt", "BR")));
		}
	};
	public static boolean isCurrency (String s) {
		s = s.trim();
		ParsePosition pos = new ParsePosition (0);
                    brazilianCurrencyFormat.get().parse(s, pos);
		return pos.getIndex() == s.length();
	}
	
	
	public static void main(String[] args) {
		System.out.println (isNumeric ("1234567")); // true
		System.out.println (isNumeric ("abacaxi")); // false
		System.out.println (isCurrency ("1.234,56")); // true
		System.out.println (isCurrency ("1234,56")); // true
		System.out.println (isCurrency ("45,234.56")); // false
		System.out.println (isCurrency ("abacaxi")); // false
		System.out.println (isCurrency ("2 palitos")); // false
	}
}

Amigos, infelismente a otmização com try tem uma falha se o numero digitado for M34M ele aceita como String, sendo assim fica um pouco falho.

Testei minha função com “M34M” e retornou “false”, como esperado. Não tem alguma coisa errada?

Quando estou testando assim 3mm3 para retornar um numero e não uma string da certo, mas quando quero retornar uma String usando M33M da errado pois ele aceita o M33M como sendo uma String

O que é um número para você?
Pelo que estou imaginando, “3mm3” é uma string mas “m33m” é um número para você.
Pode dizer exatamente o que são números e strings para você? Defina direitinho e dê alguns exemplos.

Realmente estava deixando de lado a questão que strings são alfa numéricos, sendo assim o valor M33M e valido, obrigado pela ajuda!

Retirado do wikipédia

[quote]String
Em programação e em linguagens formais, uma cadeia de caracteres (também conhecida como string) é uma sequência ordenada de caracteres (símbolos) escolhidos a partir de um conjunto pré-determinado. Em programação, cada símbolo armazenado na memória é representado por um valor numérico. Uma variável declarada com tipo de dado cadeia geralmente armazena um número pré-determinado de caracteres.[/quote]

se quiser saber mais sobre ela da uma olhada nos link:

http://www.guj.com.br/java.artigo.103.1.guj
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html