用Java语言返回三元

我有来自JavaScript的这段代码

function getURL(a, b) {
    return ++b ? String.fromCharCode((a = a.charCodeAt() + 47, a > 126 ? a - 94 : a)) : decodeURIComponent(a).replace(/[^ ]/g, this.getURL);
}

A是一个编码的URL,因此是一个String,B甚至都不需要传入,但是它可以是任何String。

而且我必须将其移植到Java进行Android开发。我只是不太了解此函数中三元数如何与返回一起工作。 我以为三元表示if(before?){冒号之前的东西}否则{冒号之后的东西},但是我不知道这与返回值结合如何工作。如果我知道将它移植到Java上应该不难