Объект, заключенный в круглые скобки

#java

Вопрос:

Я изучаю структуры данных и столкнулся с приведенным ниже кодом. Мне действительно интересно узнать о значении круглых скобок new Object(); .

 public class HashTable <K,V> implements Iterable<K> {
    private final K TOMBSTONE=(K) (new Object());
}
 

Я предполагаю, что круглые скобки вокруг K предназначены для приведения вниз, что делает new Object(); be типа данных K .
Для чего нужны круглые скобки new Object(); ?

Не могли бы вы рассказать мне на простом английском?

Комментарии:

1. Сначала я был неправ, сказав, что это требуется в данном контексте. Однако в некоторых контекстах это может потребоваться для приоритета операций. Смотрите здесь . Но да, большую часть времени он используется для улучшения разборчивости, даже если это не требуется.

2. В этой ситуации это на самом деле не влияет на разборчивость, поэтому его удаление вполне нормально.

Ответ №1:

Круглые скобки функционально не требуются. Они просто для удобства чтения. Он будет компилироваться без них:

 public class HashTable <K,V> implements Iterable<K> {
    private final K TOMBSTONE=(K) new Object();
}
 

Комментарии:

1. Большое вам спасибо за ваше естественное редактирование и быстрый ответ, который попадает в точку. Это действительно полезно, потому что я учусь один на YouTube, есть много вещей, которые сводят меня с ума.