У меня есть этот метод в моем коде, и мне нужно упростить и сократить строки с помощью выражений java 8. Для этого можно использовать Lambda, но это кажется невозможным без списка в качестве ввода.
public ResourceUsage[] filterResourceUsages(ResourceUsage[] resourceUsages, int role, int includeResourceType)
throws SpiderException
{
ArrayList<ResourceUsage> filteredResourceUsages = new ArrayList<>();
String[] ids = new String[resourceUsages.length];
for (int i = 0; i < resourceUsages.length; i++)
{
ids[i] = resourceUsages[i].resource;
}
ResourceData[] resourceData = resourceToolkitAdapter.getData(ids);
for (int i = 0; i < resourceData.length; i++)
{
if (resourceUsages[i].role == role && resourceData[i].basic.type == includeResourceType)
{
filteredResourceUsages.add(resourceUsages[i]);
}
}
return filteredResourceUsages.toArray(new ResourceUsage[filteredResourceUsages.size()]);
}
Я пробовал использовать resourceUsages.forEach(resourceUsages.resource-> do something);
, но без списка в качестве ввода это кажется невозможным.
Есть ли какие-нибудь способ упростить этот код?