伙计们,我正在写一个资源管理器,它可以管理不同类型的资源。资源可以是整数或一些自定义类型。所以,我定义了这样一个接口:
public interface ResourceManagerInterface<R> {
/**
* allocateResource:
* Allocate a resource from the resource pool
* @return
*/
R allocateResource() throws ResourceUnavailableException;
/**
* freeResource:
* Deallocate/Return/Free a resource and make it available in the pool.
* @param resource
*/
void freeResource(R resource) throws InvalidResourceException;
}
此接口的实现者之一管理“int”类型的资源。因为我做不到:
public class NumericResourceManager implements ResourceManagerInterface<int>
我最终做了:
public class NumericResourceManager implements ResourceManagerInterface<Integer>
注意:使用了“整数”而不是“整数”。
我有一段这样的代码:
@Override
public Integer allocateResource() throws ResourceUnavailableException {
try {
return internalToExternal(firstAvailableResource());
} catch (ResourceUnavailableException e) {
throw e;
}
}
函数internalToExternal()返回“int”而不是“Integer”。
问题:1.是否有从“int”到“Integer”的自动转换?
我使用如下界面:
someManager.allocate资源。
也就是说,我以“int”而不是“整数”的形式获取返回值。这也工作正常。
既然它能工作,我有点困惑这是否安全,我能让它保持原样吗?
谢谢你的时间。
是的,从Integer
到int
的转换将自动进行,如注释中所述。这称为(自动)拆箱。
但是,如果要解装箱的整数是null
,则解装箱将抛出NullPointerExc的
。因此,对于您的其他代码,请记住这一点。
我有一个递归函数,它会重复这个函数,直到不满足if条件,然后输出一个整数。但是,此函数之外需要整数的函数正在接收一个单位。我应该如何修改代码以返回int? 这就是整个程序 }
我试图了解异步/等待如何与promise一起工作。 据我所知,await应该是阻塞的,在上面的代码中,它似乎阻塞了返回带有原语
从数据库中提取博客。 为什么这里的blogContent在函数的上下文中是全局的,而我们正在内部更改它,所以它应该返回值,有人能解释为什么会这样吗? 有没有不使用promise/async/await的方法>>>有人给了我答案 我如何从异步调用返回响应? 但这一点我不知道,最主要的是我不知道Ajax。
问题内容: 我有一个发出AJAX调用的功能(通过jQuery)。在本节中,我有一个函数说: 但是,如果我这样称呼它: 第一个永远不会被调用。 如果将an 放入函数中,则为true,但在该函数返回之前不会为true 。 可以将回调函数传递给我的方法吗?喜欢: 问题答案: 是一个 回调 函数。它将由Ajax对象调用-异步!-操作完成时。您无法捕捉回调的结果,只有Ajax对象可以做到这一点。 您的函数-
我试图理解map和flatMap是如何工作的,但是在下面的代码中被卡住了。flatMap()函数返回一个RDD[Char],但我希望返回的是RDD[String]。有人能解释为什么它会产生RDD[Char]吗?
问题内容: 为什么不: 代替: 获得唯一哈希码的更高机会? 问题答案: 因为数组的最大长度为。 由于的主要用途是确定将对象插入/ 的后备数组中的哪个插槽,因此hashcode> 将无法存储在该数组中。