java中的通用修剪功能?

时间:2011-09-23 14:53:06

标签: java

我有一个要求,我需要开发一个接受任何类型的参数(字符串或整数等)的方法,并应用trim()来删除前导和试验空间。请帮我怎么写泛型方法来实现这个?

谢谢!

4 个答案:

答案 0 :(得分:5)

Java严格定义了类型,它不是PHP或Javascript。整数没有空格。只需使用String对象的trim()方法即可。如果您的“整数”实际上是一个字符串,请执行(String.valueOf(x)).trim()

答案 1 :(得分:1)

它没有多大意义,但在这里:

public String trim(Object o) {
  if (o != null) { 
    return o.toString().trim();
  }
  return null;
}

答案 2 :(得分:1)

  

如果整数类似于12345 ---。 ---表示3个空格。我怎么能删除?在修剪之前我需要将其转换为字符串吗?

如果'integer'有尾随空格,则它已经是整数的字符串表示形式,而不是整数本身。因此:

String i = "12345   ";
String trimmed = i.trim();

相比之下,以下是不合法的

int i = "12345   ";  // compilation error

和一个像这样生成的整数的字符串表示:

String i = String.valueOf(12345);

不会有前导空格或尾随空格。

答案 3 :(得分:0)

在java中,所有对象都有.toString()方法,该方法返回该对象的字符串表示形式。

然后,您可以在该字符串上调用.trim()方法,因此您的函数可能如下所示:

public static String trimAny(Object o) {
    return o.toString().trim();
}