() -> timer.get() > x this will be a BooleanSupplier. () -> is like a function declaration, that will run the statement after the ‘arrow’ and return the result. You can then pass this to your Command or whatever other Object/Method you want. Something like below will pass a BooleanSupplier, and whatever type of subsystem you passed.
new Command(() -> timer.get() > x, subsystem)
What doing this allows is, on the other side, you can call this lambda Supplier function multiple times and get an updated result from it, whereas if you passed a primitive type, like a boolean, you’d only have the answer at the moment you passed it, you wouldn’t be able to get an updated result internally, you’d need the outside resource to send updated results or some other work-around.