Удвойте универсальное ограничение на класс в Java: расширяет ConcreteClass и меня

Вы можете заключить строку в обратные метки литерала шаблона и передать ее в eval для запуска интерполяции строки:

saveQuery = eval('`' + saveQuery.saveQuery + '`'); 

const a = 10;
const str = 'test ${a} test';

console.log(eval('`' + str + '`'));

/*
if it's required to wrap the interpolated value into a quotes, 
you can do that by wrapping the embedded expression, prior to interpolation:
*/
console.log(eval('`' + str.replace(/(\${.*})/, '\'$1\'') + '`'));
[ 116]
11
задан axk 6 January 2016 в 14:32
поделиться

2 ответа

Самый простой путь I видит разрешения, что код Java должен сделать Class2 интерфейсом.

Вы не можете ограничить параметр типа к, расширяет больше чем один класс, или введите параметр. Далее, Вы не можете использовать супер здесь.

4
ответ дан 3 December 2019 в 10:27
поделиться

Этот код компилирует здесь прекрасный:

interface Interface1 {}

class Class2 {}

class Class1<I extends Interface1, T extends Class2 & Interface1> {}

Почему Вам нужен тип меня там, когда Вы принимаете только Interface1 так или иначе? (Вы не будете знать ничего больше в Вашем классе обо мне, чем он расширяет Interface1),

5
ответ дан 3 December 2019 в 10:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: