Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

148
Views
Using Class<T> with immutables

I'm giving the immutables.org library a try. What I need is to be able to specify a class, so I've defined

@Value.Immutable
public interface Value<T> {
    Class<T> getType();
}

The builder generated by immutables does not accept this

ImmutableValue.builder().type(String.class)...

Because it expects a Class<Object>. How do I get the builder to accept String.class?

Annotating the type with @Value.Parameter nicely creates a of method that works

ImmutableValue.of(String.class)...

But the result is an instance, not a builder, so follow up values can only be set using withers.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

You can infer the type using type witness.

public class ImmutableExample {
    public static void main(String[] args) {
        ImmutableValue immutableValue = ImmutableValue.<String>builder()
                .type(String.class).build();
        System.out.println(immutableValue.getType());
    }
}
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!