Java.util.ResourceBundle.Control.get CandidateLocales() Method



The java.util.ResourceBundle.Control.getCandidateLocales(String baseName,Locale locale) method returns a List of Locales as candidate locales for baseName and locale. This method is called by the ResourceBundle.getBundle factory method each time the factory method tries finding a resource bundle for a target Locale.


Following is the declaration for java.util.Control.getCandidateLocales() method

public List<Locale< getCandidateLocales(String baseName, Locale locale)


  • baseName -- the base name of the resource bundle, a fully qualified class name

  • locale -- the locale for which a resource bundle is desired

Return Value

This method returns a List of candidate Locales for the given locale


  • NullPointerException -- if baseName or locale is null


The following example shows the usage of java.util.ResourceBundle.Control.getCandidateLocales() method.

package com.tutorialspoint;

import java.util.Locale;
import java.util.ResourceBundle;
import java.util.ResourceBundle.Control;

public class ResourceBundleControlDemo {

   public static void main(String[] args) {

   // create a new ResourceBundle.Control with default format
   ResourceBundle.Control rbc =

   // print the CandidateLocales
   System.out.println("" + rbc.getCandidateLocales("hello", Locale.US));


Assuming we have a resource file available in your CLASSPATH, with the following content. This file will be used as an input for our example program:

hello=Hello World!

Let us compile and run the above program, this will produce the following result:

[en_US, en, ]