在 C# 中,我可以做这样的事情

public static TConvertible ChangeType<TConvertible>(object value) where TConvertible : IConvertible
    {
        try
        {
            if (value == null)
                return default(TConvertible);

            return (TConvertible)Convert.ChangeType(value, typeof(TConvertible));
        }
        catch (System.FormatException)
        {
            return default(TConvertible);
        }
    }

有没有办法在java中做类似的事情?我正在使用 android SharedPreferences 并试图围绕它包装一个管理类。而不是使用 getStringgetIntgetLong 等,我想传递值,将其存储为字符串,然后将其转换回它的出路。

最佳答案

我相信这是不可能的,因为 Java 的泛型实现和整个类型擦除问题,因为它在运行时不知道 TConvertible 是什么。

关于Java - 从字符串转换为泛型类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5043831/

10-15 18:06