Это проблемная строка (как вы сказали:)
Runnable mylookupThread = new Runnable(FilePath, SearchIndex) { ...
То, что происходит, заключается в том, что мы определяем класс на лету, и этот класс реализует интерфейс Runnable
. Когда вы используете этот синтаксис, элементы в скобках предназначены в качестве аргументов конструктора для суперкласса. Поскольку Runnable
является интерфейсом, а не классом, у него вообще нет конструкторов, поэтому определенно нет аргументов, которые бы принимали аргументы.
Тем не менее, какими бы они ни были, они не используются в теле анонимного класса, поэтому, в первом приближении, вы хотите просто отбросить то, что находится внутри скобок.