Wednesday, July 3, 2024
HomeLanguagesJavaYear with() Method in Java with Examples

Year with() Method in Java with Examples

In Year class, there are two types of with() method depending upon the parameters passed to it.

with(TemporalAdjuster adjuster)

with(TemporalAdjuster adjuster) method of the Year class used to adjusted this Year using TemporalAdjuster and after adjustment returns the copy of adjusted Year.The adjustment takes place using the specified adjuster strategy object. This instance of Year is immutable and unaffected by this method call.

Syntax:

public Year with(TemporalAdjuster adjuster)

Parameters: This method accepts adjuster as parameter which is the adjuster to use.

Return value: This method returns a Year based on this with the adjustment made.

Exception: This method throws following Exceptions:

  • DateTimeException – if the adjustment cannot be made.
  • ArithmeticException – if numeric overflow occurs.

Below programs illustrate the with() method:
Program 1:




// Java program to demonstrate
// Year.with() method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a Year object
        Year yr
            = Year.of(2019);
  
        // print instance
        System.out.println("Year before"
                           + " adjustment: "
                           + yr);
  
        // apply with method of Year class
        Year updatedlocal = yr.with(Year.of(2012));
  
        // print instance
        System.out.println("Year after"
                           + " adjustment: "
                           + updatedlocal);
    }
}


Output:

Year before adjustment: 2019
Year after adjustment: 2012

with(TemporalField field, long newValue)

with(TemporalField field, long newValue) method of the Year class used to set the specified field of Year to a new value and returns the copy of new time.This method can be used to change any supported field, such as year. An exception is thrown If setting the new value is not possible due to the field is not supported or for some other reason. This instance of Year is immutable and unaffected by this method call.

Syntax:

public Year with(TemporalField field, long newValue)

Parameters: This method accepts field which is the field to set in the result and newValue which the new value of the field in the result as parameters.

Return value: This method returns a Year based on this with the specified field set.

Exception: This method throws following Exceptions:

  • DateTimeException – if the adjustment cannot be made.
  • UnsupportedTemporalTypeException – if the field is not supported.
  • ArithmeticException – if numeric overflow occurs.

Below programs illustrate the with() method:
Program 1:




// Java program to demonstrate
// Year.with() method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a Year object
        Year yr
            = Year.of(2019);
  
        // print instance
        System.out.println("Year before"
                           + " applying method: "
                           + yr);
  
        // apply with method of Year class
        Year updatedlocal
            = yr.with(ChronoField.YEAR, 2100);
  
        // print instance
        System.out.println("Year after"
                           + " applying method: "
                           + updatedlocal);
    }
}


Output:

Year before applying method: 2019
Year after applying method: 2100

References:
https://docs.oracle.com/javase/10/docs/api/java/time/Year.html#with(java.time.temporal.TemporalAdjuster)
https://docs.oracle.com/javase/10/docs/api/java/time/Year.html#with(java.time.temporal.TemporalField, long)

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments