Java – Strings Class

Strings, which are widely used in Java programming, are a sequence of characters. In Java programming language, strings are treated as objects.

The Java platform provides the String class to create and manipulate strings.

Creating Strings

The most direct way to create a string is to write −

String greeting = "Hello world!";

Whenever it encounters a string literal in your code, the compiler creates a String object with its value in this case, “Hello world!’.

As with any other object, you can create String objects by using the new keyword and a constructor. The String class has 11 constructors that allow you to provide the initial value of the string using different sources, such as an array of characters.

Example

publicclassStringDemo{publicstaticvoid main(String args[]){char[] helloArray ={'h','e','l','l','o','.'};String helloString =newString(helloArray);System.out.println( helloString );}}

This will produce the following result −

Output

hello.

Note − The String class is immutable, so that once it is created a String object cannot be changed. If there is a necessity to make a lot of modifications to Strings of characters, then you should use String Buffer & String BuilderClasses.

String Length

Methods used to obtain information about an object are known as accessor methods. One accessor method that you can use with strings is the length() method, which returns the number of characters contained in the string object.

The following program is an example of length(), method String class.

Example

publicclassStringDemo{publicstaticvoid main(String args[]){String palindrome ="Dot saw I was Tod";int len = palindrome.length();System.out.println("String Length is : "+ len );}}

This will produce the following result −

Output

String Length is : 17

Concatenating Strings

The String class includes a method for concatenating two strings −

string1.concat(string2);

This returns a new string that is string1 with string2 added to it at the end. You can also use the concat() method with string literals, as in −

"My name is ".concat("Zara");

Strings are more commonly concatenated with the + operator, as in −

"Hello," + " world" + "!"

which results in −

"Hello, world!"

Let us look at the following example −

Example

publicclassStringDemo{publicstaticvoid main(String args[]){String string1 ="saw I was ";System.out.println("Dot "+ string1 +"Tod");}}

This will produce the following result −

Output

Dot saw I was Tod

Creating Format Strings

You have printf() and format() methods to print output with formatted numbers. The String class has an equivalent class method, format(), that returns a String object rather than a PrintStream object.

Using String’s static format() method allows you to create a formatted string that you can reuse, as opposed to a one-time print statement. For example, instead of −

Example

System.out.printf("The value of the float variable is "+"%f, while the value of the integer "+"variable is %d, and the string "+"is %s", floatVar, intVar, stringVar);

You can write −

String fs;
fs =String.format("The value of the float variable is "+"%f, while the value of the integer "+"variable is %d, and the string "+"is %s", floatVar, intVar, stringVar);System.out.println(fs);

String Methods

Here is the list of methods supported by String class −

Sr.No. Method & Description
1 char charAt(int index)

Returns the character at the specified index.

2 int compareTo(Object o)

Compares this String to another Object.

3 int compareTo(String anotherString)

Compares two strings lexicographically.

4 int compareToIgnoreCase(String str)

Compares two strings lexicographically, ignoring case differences.

5 String concat(String str)

Concatenates the specified string to the end of this string.

6 boolean contentEquals(StringBuffer sb)

Returns true if and only if this String represents the same sequence of characters as the specified StringBuffer.

7 static String copyValueOf(char[] data)

Returns a String that represents the character sequence in the array specified.

8 static String copyValueOf(char[] data, int offset, int count)

Returns a String that represents the character sequence in the array specified.

9 boolean endsWith(String suffix)

Tests if this string ends with the specified suffix.

10 boolean equals(Object anObject)

Compares this string to the specified object.

11 boolean equalsIgnoreCase(String anotherString)

Compares this String to another String, ignoring case considerations.

12 byte getBytes()

Encodes this String into a sequence of bytes using the platform’s default charset, storing the result into a new byte array.

13 byte[] getBytes(String charsetName)

Encodes this String into a sequence of bytes using the named charset, storing the result into a new byte array.

14 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

Copies characters from this string into the destination character array.

15 int hashCode()

Returns a hash code for this string.

16 int indexOf(int ch)

Returns the index within this string of the first occurrence of the specified character.

17 int indexOf(int ch, int fromIndex)

Returns the index within this string of the first occurrence of the specified character, starting the search at the specified index.

18 int indexOf(String str)

Returns the index within this string of the first occurrence of the specified substring.

19 int indexOf(String str, int fromIndex)

Returns the index within this string of the first occurrence of the specified substring, starting at the specified index.

20 String intern()

Returns a canonical representation for the string object.

21 int lastIndexOf(int ch)

Returns the index within this string of the last occurrence of the specified character.

22 int lastIndexOf(int ch, int fromIndex)

Returns the index within this string of the last occurrence of the specified character, searching backward starting at the specified index.

23 int lastIndexOf(String str)

Returns the index within this string of the rightmost occurrence of the specified substring.

24 int lastIndexOf(String str, int fromIndex)

Returns the index within this string of the last occurrence of the specified substring, searching backward starting at the specified index.

25 int length()

Returns the length of this string.

26 boolean matches(String regex)

Tells whether or not this string matches the given regular expression.

27 boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 

Tests if two string regions are equal.

28 boolean regionMatches(int toffset, String other, int ooffset, int len)

Tests if two string regions are equal.

29 String replace(char oldChar, char newChar)

Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar.

30 String replaceAll(String regex, String replacement

Replaces each substring of this string that matches the given regular expression with the given replacement.

31 String replaceFirst(String regex, String replacement)

Replaces the first substring of this string that matches the given regular expression with the given replacement.

32 String[] split(String regex)

Splits this string around matches of the given regular expression.

33 String[] split(String regex, int limit)

Splits this string around matches of the given regular expression.

34 boolean startsWith(String prefix)

Tests if this string starts with the specified prefix.

35 boolean startsWith(String prefix, int toffset)

Tests if this string starts with the specified prefix beginning a specified index.

36 CharSequence subSequence(int beginIndex, int endIndex)

Returns a new character sequence that is a subsequence of this sequence.

37 String substring(int beginIndex)

Returns a new string that is a substring of this string.

38 String substring(int beginIndex, int endIndex)

Returns a new string that is a substring of this string.

39 char[] toCharArray()

Converts this string to a new character array.

40 String toLowerCase()

Converts all of the characters in this String to lower case using the rules of the default locale.

41 String toLowerCase(Locale locale)

Converts all of the characters in this String to lower case using the rules of the given Locale.

42 String toString()

This object (which is already a string!) is itself returned.

43 String toUpperCase()

Converts all of the characters in this String to upper case using the rules of the default locale.

44 String toUpperCase(Locale locale)

Converts all of the characters in this String to upper case using the rules of the given Locale.

45 String trim()

Returns a copy of the string, with leading and trailing whitespace omitted.

46 static String valueOf(primitive data type x)

Returns the string representation of the passed data type argument.

Java – Arrays

Java provides a data structure, the array, which stores a fixed-size sequential collection of elements of the same type. An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type.

Instead of declaring individual variables, such as number0, number1, …, and number99, you declare one array variable such as numbers and use numbers[0], numbers[1], and …, numbers[99] to represent individual variables.

This tutorial introduces how to declare array variables, create arrays, and process arrays using indexed variables.

Declaring Array Variables

To use an array in a program, you must declare a variable to reference the array, and you must specify the type of array the variable can reference. Here is the syntax for declaring an array variable −

Syntax

dataType[] arrayRefVar;   // preferred way.
or
dataType arrayRefVar[];  // works but not preferred way.

Note − The style dataType[] arrayRefVar is preferred. The style dataType arrayRefVar[]comes from the C/C++ language and was adopted in Java to accommodate C/C++ programmers.

Example

The following code snippets are examples of this syntax −

double[] myList;// preferred way.ordouble myList[];// works but not preferred way.

Creating Arrays

You can create an array by using the new operator with the following syntax −

Syntax

arrayRefVar = new dataType[arraySize];

The above statement does two things −

  • It creates an array using new dataType[arraySize].

  • It assigns the reference of the newly created array to the variable arrayRefVar.

Declaring an array variable, creating an array, and assigning the reference of the array to the variable can be combined in one statement, as shown below −

dataType[] arrayRefVar = new dataType[arraySize];

Alternatively you can create arrays as follows −

dataType[] arrayRefVar = {value0, value1, ..., valuek};

The array elements are accessed through theindex. Array indices are 0-based; that is, they start from 0 to arrayRefVar.length-1.

Example

Following statement declares an array variable, myList, creates an array of 10 elements of double type and assigns its reference to myList −

double[] myList =newdouble[10];

Following picture represents array myList. Here, myList holds ten double values and the indices are from 0 to 9.

Java Array

Processing Arrays

When processing array elements, we often use either for loop or foreach loop because all of the elements in an array are of the same type and the size of the array is known.

Example

Here is a complete example showing how to create, initialize, and process arrays −

publicclassTestArray{publicstaticvoid main(String[] args){double[] myList ={1.9,2.9,3.4,3.5};// Print all the array elementsfor(int i =0; i < myList.length; i++){System.out.println(myList[i]+" ");}// Summing all elementsdouble total =0;for(int i =0; i < myList.length; i++){
         total += myList[i];}System.out.println("Total is "+ total);// Finding the largest elementdouble max = myList[0];for(int i =1; i < myList.length; i++){if(myList[i]> max) max = myList[i];}System.out.println("Max is "+ max);}}

This will produce the following result −

Output

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

The foreach Loops

JDK 1.5 introduced a new for loop known as foreach loop or enhanced for loop, which enables you to traverse the complete array sequentially without using an index variable.

Example

The following code displays all the elements in the array myList −

publicclassTestArray{publicstaticvoid main(String[] args){double[] myList ={1.9,2.9,3.4,3.5};// Print all the array elementsfor(double element: myList){System.out.println(element);}}}

This will produce the following result −

Output

1.9
2.9
3.4
3.5

Passing Arrays to Methods

Just as you can pass primitive type values to methods, you can also pass arrays to methods. For example, the following method displays the elements in an int array −

Example

publicstaticvoid printArray(int[] array){for(int i =0; i < array.length; i++){System.out.print(array[i]+" ");}}

You can invoke it by passing an array. For example, the following statement invokes the printArray method to display 3, 1, 2, 6, 4, and 2 −

Example

printArray(newint[]{3,1,2,6,4,2});

Returning an Array from a Method

A method may also return an array. For example, the following method returns an array that is the reversal of another array −

Example

publicstaticint[] reverse(int[] list){int[] result =newint[list.length];for(int i =0, j = result.length -1; i < list.length; i++, j--){
      result[j]= list[i];}return result;}

The Arrays Class

The java.util.Arrays class contains various static methods for sorting and searching arrays, comparing arrays, and filling array elements. These methods are overloaded for all primitive types.

Sr.No. Method & Description
1

public static int binarySearch(Object[] a, Object key)

Searches the specified array of Object ( Byte, Int , double, etc.) for the specified value using the binary search algorithm. The array must be sorted prior to making this call. This returns index of the search key, if it is contained in the list; otherwise, it returns ( – (insertion point + 1)).

2

public static boolean equals(long[] a, long[] a2)

Returns true if the two specified arrays of longs are equal to one another. Two arrays are considered equal if both arrays contain the same number of elements, and all corresponding pairs of elements in the two arrays are equal. This returns true if the two arrays are equal. Same method could be used by all other primitive data types (Byte, short, Int, etc.)

3

public static void fill(int[] a, int val)

Assigns the specified int value to each element of the specified array of ints. The same method could be used by all other primitive data types (Byte, short, Int, etc.)

4

public static void sort(Object[] a)

Sorts the specified array of objects into an ascending order, according to the natural ordering of its elements. The same method could be used by all other primitive data types ( Byte, short, Int, etc.)

Java – Date and Time

Java provides the Date class available in java.utilpackage, this class encapsulates the current date and time.

The Date class supports two constructors as shown in the following table.

Sr.No. Constructor & Description
1

Date( )

This constructor initializes the object with the current date and time.

2

Date(long millisec)

This constructor accepts an argument that equals the number of milliseconds that have elapsed since midnight, January 1, 1970.

Following are the methods of the date class.

Sr.No. Method & Description
1

boolean after(Date date)

Returns true if the invoking Date object contains a date that is later than the one specified by date, otherwise, it returns false.

2

boolean before(Date date)

Returns true if the invoking Date object contains a date that is earlier than the one specified by date, otherwise, it returns false.

3

Object clone( )

Duplicates the invoking Date object.

4

int compareTo(Date date)

Compares the value of the invoking object with that of date. Returns 0 if the values are equal. Returns a negative value if the invoking object is earlier than date. Returns a positive value if the invoking object is later than date.

5

int compareTo(Object obj)

Operates identically to compareTo(Date) if obj is of class Date. Otherwise, it throws a ClassCastException.

6

boolean equals(Object date)

Returns true if the invoking Date object contains the same time and date as the one specified by date, otherwise, it returns false.

7

long getTime( )

Returns the number of milliseconds that have elapsed since January 1, 1970.

8

int hashCode( )

Returns a hash code for the invoking object.

9

void setTime(long time)

Sets the time and date as specified by time, which represents an elapsed time in milliseconds from midnight, January 1, 1970.

10

String toString( )

Converts the invoking Date object into a string and returns the result.

Getting Current Date and Time

This is a very easy method to get current date and time in Java. You can use a simple Date object with toString() method to print the current date and time as follows −

Example

import java.util.Date;publicclassDateDemo{publicstaticvoid main(String args[]){// Instantiate a Date objectDate date =newDate();// display time and date using toString()System.out.println(date.toString());}}

This will produce the following result −

Output

on May 04 09:51:52 CDT 2009

Date Comparison

Following are the three ways to compare two dates −

  • You can use getTime( ) to obtain the number of milliseconds that have elapsed since midnight, January 1, 1970, for both objects and then compare these two values.

  • You can use the methods before( ), after( ), and equals( ). Because the 12th of the month comes before the 18th, for example, new Date(99, 2, 12).before(new Date (99, 2, 18)) returns true.

  • You can use the compareTo( ) method, which is defined by the Comparable interface and implemented by Date.

Date Formatting Using SimpleDateFormat

SimpleDateFormat is a concrete class for formatting and parsing dates in a locale-sensitive manner. SimpleDateFormat allows you to start by choosing any user-defined patterns for date-time formatting.

Example

import java.util.*;import java.text.*;publicclassDateDemo{publicstaticvoid main(String args[]){Date dNow =newDate();SimpleDateFormat ft =newSimpleDateFormat("E yyyy.MM.dd 'at' hh:mm:ss a zzz");System.out.println("Current Date: "+ ft.format(dNow));}}

This will produce the following result −

Output

Current Date: Sun 2004.07.18 at 04:14:09 PM PDT

Simple DateFormat Format Codes

To specify the time format, use a time pattern string. In this pattern, all ASCII letters are reserved as pattern letters, which are defined as the following −

Character Description Example
G Era designator AD
y Year in four digits 2001
M Month in year July or 07
d Day in month 10
h Hour in A.M./P.M. (1~12) 12
H Hour in day (0~23) 22
m Minute in hour 30
s Second in minute 55
S Millisecond 234
E Day in week Tuesday
D Day in year 360
F Day of week in month 2 (second Wed. in July)
w Week in year 40
W Week in month 1
a A.M./P.M. marker PM
k Hour in day (1~24) 24
K Hour in A.M./P.M. (0~11) 10
z Time zone Eastern Standard Time
Escape for text Delimiter
Single quote `

Date Formatting Using printf

Date and time formatting can be done very easily using printf method. You use a two-letter format, starting with t and ending in one of the letters of the table as shown in the following code.

Example

import java.util.Date;publicclassDateDemo{publicstaticvoid main(String args[]){// Instantiate a Date objectDate date =newDate();// display time and date using toString()String str =String.format("Current Date/Time : %tc", date );System.out.printf(str);}}

This will produce the following result −

Output

Current Date/Time : Sat Dec 15 16:37:57 MST 2012

It would be a bit silly if you had to supply the date multiple times to format each part. For that reason, a format string can indicate the index of the argument to be formatted.

The index must immediately follow the % and it must be terminated by a $.

Example

import java.util.Date;publicclassDateDemo{publicstaticvoid main(String args[]){// Instantiate a Date objectDate date =newDate();// display time and date using toString()System.out.printf("%1$s %2$tB %2$td, %2$tY","Due date:", date);}}

This will produce the following result −

Output

Due date: February 09, 2004

Alternatively, you can use the < flag. It indicates that the same argument as in the preceding format specification should be used again.

Example

import java.util.Date;publicclassDateDemo{publicstaticvoid main(String args[]){// Instantiate a Date objectDate date =newDate();// display formatted dateSystem.out.printf("%s %tB %<te, %<tY","Due date:", date);}}

This will produce the following result −

Output

Due date: February 09, 2004

Date and Time Conversion Characters

Character Description Example
c Complete date and time Mon May 04 09:51:52 CDT 2009
F ISO 8601 date 2004-02-09
D U.S. formatted date (month/day/year) 02/09/2004
T 24-hour time 18:05:19
r 12-hour time 06:05:19 pm
R 24-hour time, no seconds 18:05
Y Four-digit year (with leading zeroes) 2004
y Last two digits of the year (with leading zeroes) 04
C First two digits of the year (with leading zeroes) 20
B Full month name February
b Abbreviated month name Feb
m Two-digit month (with leading zeroes) 02
d Two-digit day (with leading zeroes) 03
e Two-digit day (without leading zeroes) 9
A Full weekday name Monday
a Abbreviated weekday name Mon
j Three-digit day of year (with leading zeroes) 069
H Two-digit hour (with leading zeroes), between 00 and 23 18
k Two-digit hour (without leading zeroes), between 0 and 23 18
I Two-digit hour (with leading zeroes), between 01 and 12 06
l Two-digit hour (without leading zeroes), between 1 and 12 6
M Two-digit minutes (with leading zeroes) 05
S Two-digit seconds (with leading zeroes) 19
L Three-digit milliseconds (with leading zeroes) 047
N Nine-digit nanoseconds (with leading zeroes) 047000000
P Uppercase morning or afternoon marker PM
p Lowercase morning or afternoon marker pm
z RFC 822 numeric offset from GMT -0800
Z Time zone PST
s Seconds since 1970-01-01 00:00:00 GMT 1078884319
Q Milliseconds since 1970-01-01 00:00:00 GMT 1078884319047

There are other useful classes related to Date and time. For more details, you can refer to Java Standard documentation.

Parsing Strings into Dates

The SimpleDateFormat class has some additional methods, notably parse( ), which tries to parse a string according to the format stored in the given SimpleDateFormat object.

Example

import java.util.*;import java.text.*;publicclassDateDemo{publicstaticvoid main(String args[]){SimpleDateFormat ft =newSimpleDateFormat("yyyy-MM-dd");String input = args.length ==0?"1818-11-11": args[0];System.out.print(input +" Parses as ");Date t;try{
         t = ft.parse(input);System.out.println(t);}catch(ParseException e){System.out.println("Unparseable using "+ ft);}}}

A sample run of the above program would produce the following result −

Output

1818-11-11 Parses as Wed Nov 11 00:00:00 EST 1818

Sleeping for a While

You can sleep for any period of time from one millisecond up to the lifetime of your computer. For example, the following program would sleep for 3 seconds −

Example

import java.util.*;publicclassSleepDemo{publicstaticvoid main(String args[]){try{System.out.println(newDate()+"\n");Thread.sleep(5*60*10);System.out.println(newDate()+"\n");}catch(Exception e){System.out.println("Got an exception!");}}}

This will produce the following result −

Output

Sun May 03 18:04:41 GMT 2009
Sun May 03 18:04:51 GMT 2009

Measuring Elapsed Time

Sometimes, you may need to measure point in time in milliseconds. So let’s re-write the above example once again −

Example

import java.util.*;publicclassDiffDemo{publicstaticvoid main(String args[]){try{long start =System.currentTimeMillis();System.out.println(newDate()+"\n");Thread.sleep(5*60*10);System.out.println(newDate()+"\n");longend=System.currentTimeMillis();long diff =end- start;System.out.println("Difference is : "+ diff);}catch(Exception e){System.out.println("Got an exception!");}}}

This will produce the following result −

Output

Sun May 03 18:16:51 GMT 2009
Sun May 03 18:16:57 GMT 2009
Difference is : 5993

GregorianCalendar Class

GregorianCalendar is a concrete implementation of a Calendar class that implements the normal Gregorian calendar with which you are familiar. We did not discuss Calendar class in this tutorial, you can look up standard Java documentation for this.

The getInstance( ) method of Calendar returns a GregorianCalendar initialized with the current date and time in the default locale and time zone. GregorianCalendar defines two fields: AD and BC. These represent the two eras defined by the Gregorian calendar.

There are also several constructors for GregorianCalendar objects −

Sr.No. Constructor & Description
1

GregorianCalendar()

Constructs a default GregorianCalendar using the current time in the default time zone with the default locale.

2

GregorianCalendar(int year, int month, int date)

Constructs a GregorianCalendar with the given date set in the default time zone with the default locale.

3

GregorianCalendar(int year, int month, int date, int hour, int minute)

Constructs a GregorianCalendar with the given date and time set for the default time zone with the default locale.

4

GregorianCalendar(int year, int month, int date, int hour, int minute, int second)

Constructs a GregorianCalendar with the given date and time set for the default time zone with the default locale.

5

GregorianCalendar(Locale aLocale)

Constructs a GregorianCalendar based on the current time in the default time zone with the given locale.

6

GregorianCalendar(TimeZone zone)

Constructs a GregorianCalendar based on the current time in the given time zone with the default locale.

7

GregorianCalendar(TimeZone zone, Locale aLocale)

Constructs a GregorianCalendar based on the current time in the given time zone with the given locale.

Here is the list of few useful support methods provided by GregorianCalendar class −

Sr.No. Method & Description
1

void add(int field, int amount)

Adds the specified (signed) amount of time to the given time field, based on the calendar’s rules.

2

protected void computeFields()

Converts UTC as milliseconds to time field values.

3

protected void computeTime()

Overrides Calendar Converts time field values to UTC as milliseconds.

4

boolean equals(Object obj)

Compares this GregorianCalendar to an object reference.

5

int get(int field)

Gets the value for a given time field.

6

int getActualMaximum(int field)

Returns the maximum value that this field could have, given the current date.

7

int getActualMinimum(int field)

Returns the minimum value that this field could have, given the current date.

8

int getGreatestMinimum(int field)

Returns highest minimum value for the given field if varies.

9

Date getGregorianChange()

Gets the Gregorian Calendar change date.

10

int getLeastMaximum(int field)

Returns lowest maximum value for the given field if varies.

11

int getMaximum(int field)

Returns maximum value for the given field.

12

Date getTime()

Gets this Calendar’s current time.

13

long getTimeInMillis()

Gets this Calendar’s current time as a long.

14

TimeZone getTimeZone()

Gets the time zone.

15

int getMinimum(int field)

Returns minimum value for the given field.

16

int hashCode()

Overrides hashCode.

17

boolean isLeapYear(int year)

Determines if the given year is a leap year.

18

void roll(int field, boolean up)

Adds or subtracts (up/down) a single unit of time on the given time field without changing larger fields.

19

void set(int field, int value)

Sets the time field with the given value.

20

void set(int year, int month, int date)

Sets the values for the fields year, month, and date.

21

void set(int year, int month, int date, int hour, int minute)

Sets the values for the fields year, month, date, hour, and minute.

22

void set(int year, int month, int date, int hour, int minute, int second)

Sets the values for the fields year, month, date, hour, minute, and second.

23

void setGregorianChange(Date date)

Sets the GregorianCalendar change date.

24

void setTime(Date date)

Sets this Calendar’s current time with the given Date.

25

void setTimeInMillis(long millis)

Sets this Calendar’s current time from the given long value.

26

void setTimeZone(TimeZone value)

Sets the time zone with the given time zone value.

27

String toString()

Returns a string representation of this calendar.

Example

import java.util.*;publicclassGregorianCalendarDemo{publicstaticvoid main(String args[]){String months[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};int year;// Create a Gregorian calendar initialized// with the current date and time in the// default locale and timezone.GregorianCalendar gcalendar =newGregorianCalendar();// Display current time and date information.System.out.print("Date: ");System.out.print(months[gcalendar.get(Calendar.MONTH)]);System.out.print(" "+ gcalendar.get(Calendar.DATE)+" ");System.out.println(year = gcalendar.get(Calendar.YEAR));System.out.print("Time: ");System.out.print(gcalendar.get(Calendar.HOUR)+":");System.out.print(gcalendar.get(Calendar.MINUTE)+":");System.out.println(gcalendar.get(Calendar.SECOND));// Test if the current year is a leap yearif(gcalendar.isLeapYear(year)){System.out.println("The current year is a leap year");}else{System.out.println("The current year is not a leap year");}}}

This will produce the following result −

Output

Date: Apr 22 2009
Time: 11:25:27
The current year is not a leap year

For a complete list of constant available in Calendar class, you can refer the standard Java documentation.

Leave a comment