java - 使用保存类保存值并在调用时打印先前保存的值

标签 java generics

<分区>

我正在为期末考试学习,但我对如何解决这个问题感到困惑。

Write a generic class named Saver. It should have one method named save. This method should store the value that is passed and return the previous value For example, this class should support the following behavior:

Saver<Integer> saver1 = new Saver(13);
System.out.println(saver2.save(42)); // prints 13
System.out.println(saver2.save(-999)); // prints 42
System.out.println(saver2.save(2013)); // prints -999 

Saver<String> saver2 = new Saver("foo");
System.out.println(saver2.save("bar")); // prints foo
System.out.println(saver2.save("why")); // prints bar
System.out.println(saver2.save("yar")); // prints why

我不需要代码,我只想知道如何完成这个任务?

最佳答案

Saver 有一个字段,您可以分配给它并返回它的旧值。

class Saver<T> {
    T value;

    Saver(T value) {
        this.value = value;
    }

    T save(T value) {
        T old = this.value;
        this.value = value;
        return old;
    }
}

关于java - 使用保存类保存值并在调用时打印先前保存的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20509771/

相关文章:

JavaDoc 接口(interface)评论

java - @OrderBy 被忽略

Java,具有访问限制的克隆类

TypeScript 索引访问类型约束行为异常

java - 创建不可变通用对象的 HashMap

c# - 将参数传递给泛型类类型的构造函数

delphi - 如何获取Delphi中作为泛型参数传递的接口(interface)的GUID?

java - onBackPressed 并调用刷新函数 android

java - 我看不到Gradle/Maven的意义

java - 有没有办法向 Hibernate 传递一个填充了任何字段的对象(通用),并让它返回填充了所有字段的对象列表?