Can an abstract class have a constructor?

Yes, an abstract class can have a constructor. Consider this: abstract class Product { int multiplyBy; public Product( int multiplyBy ) { this.multiplyBy = multiplyBy; } public int mutiply(int val) { return multiplyBy * val; } } class TimesTwo extends Product { public TimesTwo() { super(2); } } class TimesWhat extends Product { public TimesWhat(int … Read more

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

On your Eclipse IDE, go into Window > Preferences > Java > Installed JREs > and check your installed JREs. You should have an entry with a JDK there. Select the Execution Env as show below. Click OK Then Right-Click on your Project -> Maven -> Update Project Additionally, you may have to change Maven … Read more

How can I upload files to a server using JSP/Servlet?

Introduction To browse and select a file for upload you need a HTML <input type=”file”> field in the form. As stated in the HTML specification you have to use the POST method and the enctype attribute of the form has to be set to “multipart/form-data”. <form action=”upload” method=”post” enctype=”multipart/form-data”> <input type=”text” name=”description” /> <input type=”file” … Read more

Why is my Spring @Autowired field null?

The field annotated @Autowired is null because Spring doesn’t know about the copy of MileageFeeCalculator that you created with new and didn’t know to autowire it. The Spring Inversion of Control (IoC) container has three main logical components: a registry (called the ApplicationContext) of components (beans) that are available to be used by the application, … Read more

Difference between and

<context:annotation-config> is used to activate annotations in beans already registered in the application context (no matter if they were defined with XML or by package scanning). <context:component-scan> can also do what <context:annotation-config> does but <context:component-scan> also scans packages to find and register beans within the application context. I’ll use some examples to show the differences/similarities. … Read more

How can I clear or empty a StringBuilder? [duplicate]

Two ways that work: Use stringBuilderObj.setLength(0). Allocate a new one with new StringBuilder() instead of clearing the buffer. Note that for performance-critical code paths, this approach can be significantly slower than the setLength-based approach (since a new object with a new buffer needs to be allocated, the old object becomes eligible for GC etc).

Why is Java Vector (and Stack) class considered obsolete or deprecated?

Vector synchronizes on each individual operation. That’s almost never what you want to do. Generally you want to synchronize a whole sequence of operations. Synchronizing individual operations is both less safe (if you iterate over a Vector, for instance, you still need to take out a lock to avoid anyone else changing the collection at … Read more

How do I compare strings in Java?

== tests for reference equality (whether they are the same object). .equals() tests for value equality (whether they are logically “equal”). Objects.equals() checks for null before calling .equals() so you don’t have to (available as of JDK7, also available in Guava). Consequently, if you want to test whether two strings have the same value you … Read more

IntelliJ inspection gives “Cannot resolve symbol” but still compiles code

First of all you should try File | Invalidate Caches and if it doesn’t help, delete IDEA system directory. Then re-import the Maven project and see if it helps. In some weird cases compiled classes may report wrong info and confuse IDEA. Verify that the classes from this jar report correct names using javap.

How can I convert List to int[] in Java? [duplicate]

With streams added in Java 8 we can write code like: int[] example1 = list.stream().mapToInt(i->i).toArray(); // OR int[] example2 = list.stream().mapToInt(Integer::intValue).toArray(); Thought process: The simple Stream#toArray returns an Object[] array, so it is not what we want. Also, Stream#toArray(IntFunction<A[]> generator) doesn’t do what we want, because the generic type A can’t represent the primitive type … Read more