• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. Compatibility & Specification Review
  4. Kinds of Compatibility

Page History

Versions Compared

Old Version 3

changes.mady.by.user Joe Darcy

Saved on Apr 19, 2017

compared with

New Version 4

changes.mady.by.user Joe Darcy

Saved on Oct 11, 2021

  • Previous Change: Difference between versions 2 and 3
  • Next Change: Difference between versions 4 and 5
  • View Page History

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Other kinds of compatibility include serial compatibility for Serializable types and migration compatibility. Migration compatibility was a constraint on how generics were added to the platform; libraries and their clients had to be able to be generified independently while preserving the ability of code to be compiled and run.

...

In the original version of Lib, a call to foo with an integer argument will resolve to foo(double) and under the rules for method invocation conversion the value of the int argument will be converted to a double through a primitive widening conversion. So given client code

 


public class Client {
  public static void main(String... args) {
    int i = 42;
    double d = (new Lib()).foo(i);
  }
}

...

Overview
Content Tools
ThemeBuilder

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.23
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 226, "requestCorrelationId": "3572540b990e0666"}