Think twice before overriding Object.equals()

Think twice before overriding Object.equals()

Overriding the Object.equals(Object) method, and its “companion” Object.hashCode(), provides your classes with some superpowers, but they are also one of the most common sources of problems that I see new and sometimes also more experienced Java and Vaadin developers struggling with. Some developers routinely override these, often for the wrong reasons; others do it accidentally via code generation tooling. I like to use Project Lombok, but beware of its @Data annotation!

Subscribe to our newsletter

Be the first to learn about new Vaadin resources and tips

Embrace This Game-Changing Programming Language for Enterprise Applications

Four reasons to choose Java for enterprise application development

The enterprise environment presents a distinct set of demands: scalability to manage large workloads, extremely robust security, and seamless integration with legacy systems. Within this distinct set of demands, Java offers compelling advantages to the enterprise. In this article, we explain why ...
Using VS Code with Java and Maven projects

Using VS Code with Java and Maven projects

Last updated April 2023. Java is one of many languages supported by Visual Studio Code (VS Code). Like most things in VS Code, Java support is extension based. You may need several extensions, depending on the project type and stack you are working with. You can find more detail in Java in Visual ...

The state of Java in the enterprise survey

Take the survey → According to the PYPL PopularitY of Programming Language Index, in November 2022, Java is the second most popular language in the world. This ranking is determined by analyzing requests for programming language tutorials on Google. In addition, Java also holds its position among ...
Classic Components image

The Classic Components are coming!

With Vaadin 8 at end of life, we’re making it easier for V7 and V8 customers to upgrade into the Vaadin Flow with a set of web components that are similar to their previous iterations in terms of implementation. The Classic Components are available for Prime and Enterprise customers in Vaadin 23 at ...

Enable Users to Upload & Download Files

This guide demonstrates how to create a web app that enables users to upload and download files to and from the server in Java. In this guide, we create a web app that enables users to upload and download files to and from the server. The UI allows users to select local files to be uploaded to the ...
securing apps with spring boot and vaadin

Securing Vaadin apps with Spring Security

Getting security right is critical when building web apps. The upside of building a web app is that people can use it wherever they are, on any device. But you need to ensure that only the right people are able to access it, and that they have access to only the features you intended. In this ...

Compare Spring Boot Frontend Frameworks: React, Angular, Vaadin, JHipster

Spring Boot is a preconfigured version of the Spring framework that makes it easy to create stand-alone, production-grade applications. Spring Boot is a backend framework that has become a major player in the enterprise Java ecosystem. It lets Java developers start building web applications ...

Dynamic Theming in Vaadin Flow

The application with different theme variants Whether for multi-tenancy or user preference, the need to dynamically change the theming of an application is a common business application need. In this post, we show how it’s done using CSS custom properties and HTML attributes. Vaadin 14.6 brought an ...
Java experts featured image

Expert Tips for New Java Developers

Even the best were beginners once: We asked long-time Java experts to share their experience and tips to find out what they wish they had known before beginning their Java careers. With Java having been in business for over 25 years now, let’s hear what the professionals had to say. You can find ...