Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Groovy中声明函数_Java_Function_Groovy - Fatal编程技术网

Java 在Groovy中声明函数

Java 在Groovy中声明函数,java,function,groovy,Java,Function,Groovy,我试图在Groovy中声明以下函数,该函数应返回字符串 def String sortCharacters(String string) { char[] charArray = string.toLowerCase().toCharArray(); Arrays.sort(charArray); return String.valueOf(charArray) } string1.sortCharacters(string1); No signature of me

我试图在Groovy中声明以下函数,该函数应返回字符串

def String sortCharacters(String string) {
    char[] charArray = string.toLowerCase().toCharArray();
    Arrays.sort(charArray);
    return String.valueOf(charArray)
}
string1.sortCharacters(string1);

No signature of method: java.lang.String.sortCharacters() is applicable for argument types: (java.lang.String)
由于某种原因,我在尝试对字符串使用它时出错

def String sortCharacters(String string) {
    char[] charArray = string.toLowerCase().toCharArray();
    Arrays.sort(charArray);
    return String.valueOf(charArray)
}
string1.sortCharacters(string1);

No signature of method: java.lang.String.sortCharacters() is applicable for argument types: (java.lang.String)

您不能在
String
对象上调用此方法,但可以按以下方式调用:

sortCharacters(string1)
String.metaClass.sortCharacters = {
    char[] charArray = delegate.toLowerCase().toCharArray();
    Arrays.sort(charArray)
    return String.valueOf(charArray)
}

assert 'abz' == 'bza'.sortCharacters()

如果要将
sortCharacters
添加到
String
类本身,可以通过以下方式完成:

sortCharacters(string1)
String.metaClass.sortCharacters = {
    char[] charArray = delegate.toLowerCase().toCharArray();
    Arrays.sort(charArray)
    return String.valueOf(charArray)
}

assert 'abz' == 'bza'.sortCharacters()

您不能在
String
对象上调用此方法,但可以按以下方式调用:

sortCharacters(string1)
String.metaClass.sortCharacters = {
    char[] charArray = delegate.toLowerCase().toCharArray();
    Arrays.sort(charArray)
    return String.valueOf(charArray)
}

assert 'abz' == 'bza'.sortCharacters()

如果要将
sortCharacters
添加到
String
类本身,可以通过以下方式完成:

sortCharacters(string1)
String.metaClass.sortCharacters = {
    char[] charArray = delegate.toLowerCase().toCharArray();
    Arrays.sort(charArray)
    return String.valueOf(charArray)
}

assert 'abz' == 'bza'.sortCharacters()

它们也不需要
def String
您也可以只做
String.toLowerCase().toList().sort().join()
;-)一次不要太多;)它们也不需要
def String
您也可以只做
String.toLowerCase().toList().sort().join()
;-)一次不要太多;)