Java中的自定义下标

时间:2015-01-01 17:10:00

标签: java swift

在Apple的编程语言Swift中,您可以像在自己的类中一样使用下标。 例如,Swift中的一个类看起来像这样:

class MyNumber {
    let value: Int
    init(value: Int) {
        self.value = value
    }
    subscript(i: Int) -> Int {
        return value * i
    }
}

这个类只有一个getter下标,但你也可以做一个setter下标。无论如何这样做:

let number = MyNumber(value: 15)
println(number[3])

它产生输出45。

是否可以在Java中使用下标编写此类?当然,我可以简单地使用带参数的方法,但我想知道这是否可行。 谢谢你的回答:)

1 个答案:

答案 0 :(得分:1)

简答:不。在Java中设置等于Class()的内容正在创建该对象的新实例化。做这样的事情:

var = new MyNumber(15)
var.multiply(3)

并在您的MyNumber班级代码中,为了清楚起见,将subscript更改为multiply。这将是相同的。

同一原则的简写版本是

System.out.println(new MyNumber(15).multiply(3));