Mattino tutto - Vedo che domande simili sono state poste un paio di volte, ma sembrano essere tutte per progetti compilati o che riguardano Gradle. Ad ogni modo, sto ottenendo l'erroreSovraccarico metodo ambiguo Groovy
Caused by: javax.script.ScriptException: groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.math.BigDecimal#<init>.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class [C]
[class java.lang.String]
quando ho eseguito questo piccolo script
String amt = "1"
String currency = "GBP"
String targetCurrency = "USD"
def settlement = crossCurrencyClient.crossCurrency(amt, currency, targetCurrency)
return transfer.amount * new java.math.BigDecimal (settlement)
che si attiva questo
import groovyx.net.http.HTTPBuilder
import groovyx.net.http.RESTClient
import groovy.json.JsonBuilder
import groovy.json.JsonOutput
import static groovyx.net.http.Method.GET
import static groovyx.net.http.ContentType.JSON
public class CrossCurrencyClient {
def issuingAddress = "rBycsjqxD8RVZP5zrrndiVtJwht7Z457A8"
String source = "rUR5QVHqFxRa8TSQawc1M6jKj7BvKzbHek"
String multiplier = ""
def resURL = "http://url-string.com/v1/"
def resourceIdClient = new RESTClient("${resURL}")
public String generateUUID() {
def resourceId = resourceIdClient.get(path:"uuid").data.uuid
println "resourceId = " + resourceId
return resourceId
}
public String crossCurrency(String amt,String currency,String targetCurrency) {
def http = new HTTPBuilder("${resURL}accounts/${source}/payments/paths/${source}/${amt}+${targetCurrency}+${issuingAddress}?source_currencies=${currency}+${issuingAddress}"
)
http.request(GET,JSON) {
response.success = { resp, json ->
if(json.success){
multiplier = json?.source_amount?.value
}
}
response.failure = { resp ->
println "Request failed with status ${resp.status} and message : ${resp.message}"
return "Something went wrong"
}
}
return multiplier
}
}
CrossCurrencyClient crossCurrencyClient = new CrossCurrencyClient()
non riesco a capire cosa il problema è qui . Per quanto posso vedere tutti i metodi sono eseguiti correttamente e non c'è alcuna ambiguità. Qualcuno può indicare dove sto andando male?
dato che BigDecimal ha diversi costruttori presumo di non poter risolvere quale da prendere, quindi l'errore –