reflectType gets the true type of implementation. The runtimeType type may also be at its discretion.
There may be different implementations for numbers of various kinds of numbers, for strings and other built-in types, but they are displayed as well-known.
For example, we may have different types of implementations for integers of different sizes, but they will all say that their runtimeType is int. If you think about them, you will see the difference.
Another example might be String. There may be specialized classes for strings that are pure ASCII, for example, because they can be represented more compactly. This is not displayed at a basic level: runtimeType - String. You cannot detect it unless you dig it through reflection.
source share