抱歉这个可怕的问题,不知道怎么形容它,
我自然是一个PHPer,我目前正在查看一些java并且遇到了这个部分。第一行就是上下文,它是以我感兴趣的QuotaKey开头的行。
Key key = Keys.getKeyInstance( Keys.getKeyClass( cond.getKey( ) ) );
QuotaKey quotaKey = ( QuotaKey ) key;
答案 0 :(得分:3)
这是演员,将Key
变为QuotaKey
。
http://www.javabeginner.com/learn-java/java-object-typecasting
答案 1 :(得分:2)
假设QuotaKey
是Key
的子类,您正在查看一个转换运算符,它将类型Key
的变量转换为QuotaKey
类型的变量。如果没有临时变量,您可以更简洁地编写相同的片段:
QuotaKey quotaKey = (QuotaKey)Keys.getKeyInstance(Keys.getKeyClass(cond.getKey()));
此操作在将其类型强制转换为子类之前检查key
是否为正确类型,并在失败时导致ClassCastException
。最好尽量减少程序中此类强制转换的数量,因为在编译时无法可靠地检查它们的有效性。
答案 2 :(得分:1)
这是演员。它将密钥类型强制转换为QuotaKey。
答案 3 :(得分:0)
你所看到的被称为类型转换(在这种特殊情况下是向下转换),它只是使用QuotaKey
类型的变量和Key
类型的引用,我假设它是一个QuotaKey
的超类或超接口。