В Java +
является оператором . Он может использоваться только как часть выражения, но не сам по себе.
Однако вы можете передать строку, содержащую +
, например: "+"
, или использовать перечисление, представляющее различные операторы:
enum Operator {
PLUS, MINUS;
}
Тогда ваш конструктор может принять такое перечисление:
public Entry(Operator op) {
}
Другой вариант - создать функцию «сложения», которая может добавлять два элемента вместе, и передавать эту функцию конструктору. Однако это немного сложнее и требует знания того, что вы добавляете:
BiFunction<MyObject, MyObject, MyObject> addition = (a,b) -> {
//implement a+b here;
//return result;
}
Тогда конструктор может выглядеть примерно так:
public Entry(BiFunction<MyObject, MyObject, MyObject> func) {
}