Java Groovy-无法在阵列上使用size()或length函数-Oracle销售云
循环中使用size函数的部分不起作用。我也尝试过使用长度函数 字符串cPersonFirstName=nvl(PersonFirstName,”)Java Groovy-无法在阵列上使用size()或length函数-Oracle销售云,java,groovy,Java,Groovy,循环中使用size函数的部分不起作用。我也尝试过使用长度函数 字符串cPersonFirstName=nvl(PersonFirstName,”) String[]substringsNoSpace=cPersonFirstName.split(“”); println(“这是输出”+子字符串空间); 字符串消息=“” 对于(int i=0;**i我同意@Igor Artamonov,但我相信你的问题是: for(int i=0;i;i++){ SubstringsNoSpace是一个数组,因此
String[]substringsNoSpace=cPersonFirstName.split(“”);
println(“这是输出”+子字符串空间);
字符串消息=“”
对于(int i=0;**i我同意@Igor Artamonov,但我相信你的问题是:
for(int i=0;i;i++){
SubstringsNoSpace是一个数组,因此您应该使用SubstringsNoSpace.length,它与您要修改的变量不同
您用小写的s
声明了substringsNoSpace
,并试图用大写的s
修改substringsNoSpace
,您的代码可能看起来像:
String cPersonFirstName = nvl(PersonFirstName, '')
String[] substringsNoSpace = cPersonFirstName.split(' ')
println "This is the output $substringsNoSpace"
String message = substringsNoSpace.collect {
println "${it.length()} $it"
it.substring(0,1).toUpperCase() + it.substring(1).toLowerCase()
//btw, it can be replaced with this:
//it.capitalize()
}.join(' ')
println message
setAttribute ('PersonFirstName', message)
提供的代码看起来不像真正的代码。但是如果你提供有效的代码,一个抛出此错误的真正代码,那么我们将能够帮助你嗨,谢谢你的回答。这是我正在使用的真实代码。这是我关于stackoverflow的第一个问题。请你帮助我理解你正在寻找的代码的格式。这段代码很简单无效,我无法编译它。您在substringsNoSpace
变量中有数组,但对循环使用了substringsNoSpace
。没有关于第二个变量的信息,但错误表明最后一个变量是字符串
,而不是String[]
。另外,**i而且java中没有这样的包:java.Lang.String
。下面是确切的错误-表达式“PersonDEO”触发器“DT_FirstNameCapsCreate”中的异常:groovy.Lang.MissingPropertyException:没有这样的属性:类的长度:[Ljava.Lang.String;可能的解决方案:PersonDEO”触发器的长度“DT_FirstNameCapsCreate”第15行错误无此类属性:类的长度:[Ljava.lang.String;可能的解决方案:length……嗨,Grady,感谢您的快速响应..是的,问题只是在循环部分,问题是当我给出SubstringsNoSpace.length时,它抛出了一个错误,表示length函数不能与Java.lang.StringString cPersonFirstName=nvl(PersonFirstName,”);String[]substringsNoSpace=cPersonFirstName.split(“”);字符串消息=“”用于(int i=0;i
String[] substringsNoSpace = cPersonFirstName.split(" ");
println ("This is the output " + substringsNoSpace );
String message = ''
for (int i = 0; **i <SubstringsNoSpace.size()** ; i++) {
Integer x = substringsNoSpace[i].length();
def currentWord=substringsNoSpace[i] ;
println (" "+ x+ " " + currentWord )
message += substringsNoSpace[i].substring(0,1).toUpperCase().concat(substringsNoSpace[i].substring(1, x).toLowerCase())+ " ";
}
println (message);
setAttribute ('PersonFirstName',message );
String cPersonFirstName = nvl(PersonFirstName, '')
String[] substringsNoSpace = cPersonFirstName.split(' ')
println "This is the output $substringsNoSpace"
String message = substringsNoSpace.collect {
println "${it.length()} $it"
it.substring(0,1).toUpperCase() + it.substring(1).toLowerCase()
//btw, it can be replaced with this:
//it.capitalize()
}.join(' ')
println message
setAttribute ('PersonFirstName', message)