如果其中一个值为'null' ,Java 8 Collectors.toMap将抛出一个NullPointerException.我不明白这种行为,map可以包含null指针作为值而没有任何问题.有没有一个很好的理由为什么值不能为空Collectors.toMap?
另外,是否有一个很好的Java 8方法来修复它,或者我应该恢复到普通的旧循环?
我的问题的一个例子:
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
class Answer {
private int id;
private Boolean answer;
Answer() {
}
Answer(int id, Boolean answer) {
this.id = id;
this.answer = answer;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Boolean getAnswer() {
return answer;
}
public void setAnswer(Boolean answer) {
this.answer = answer;
}
}
public class Main …Run Code Online (Sandbox Code Playgroud) 我有一个关于以太网的小问题.
我的三个问题是:
我们可以通过编程方式开启/关闭Ethernet吗?
我们可以编程启用/禁用Ethernet吗?
我们能以编程方式连接Ethernet吗?
上述问题是通过以下方式完成的Wifi.喜欢
我们可以通过编程方式开启/关闭Wifi.
我们可以通过编程方式启用/禁用Wifi.
我们可以通过编程连接Wifi使用WifiManager.
android是否提供任何EthernetManager类似WifiManager处理Ethernet?
或者,如果这似乎不可行,那么我原来的要求是:
我要澄清的第一件事是"设备已经生根".
我可以操作设置(默认)吗?就像我不希望Settings.apk除了WIFI和之外的任何其他选项Ethernet.它应该只显示Wifi和Ethernet.而已.我可以从"设置"中禁用所有选项,还是可以从"设置"中删除所有其他选项?
是否有可能以某种方式迭代对象的每个方法,名称以"get"开头?我想比较两个非常复杂的自定义对象,它们包含基于其他自定义对象的数据结构.我想要做的是获取每个get方法的结果的哈希码,并比较每个字段是否相等.
对不起,如果不是很容易理解,如果您有任何疑问请咨询.感谢您的任何帮助和建议
我想到了类似的东西:
for(method m : gettersOfMyClass){
boolean same = object1.m.hashCode() == object2.m.hashCode()
}
Run Code Online (Sandbox Code Playgroud) 我想获取类实例的所有属性的名称和值。该类可以是任何自定义的任何类,它也可以具有对象列表、哈希图、表等,并且可以从另一个类扩展。实际上我的意思是我想获得一个类的所有属性的名称和值。所以我需要做的应该是一种模板。是否可以?到目前为止我已经写过了。任何建议将不胜感激。
public static void getObjectIntoMap(Object obj) throws IllegalArgumentException, IllegalAccessException {
Field[] field = obj.getClass().getDeclaredFields();
Class<?> c = obj.getClass().getSuperclass();
if(c != Object.class)
getObjectIntoMap(c.getClass());
System.out.println("SSS : "+field.length);
for (Field f : field) {
if(f.getType() == java.util.List.class){
java.util.List<Object> ll = (java.util.List<Object>) f.get(obj);
for (Object o : ll) {
Field[] ff = o.getClass().getDeclaredFields();
for (Field field2 : ff) {
print(field2.getName(), field2.get(o).toString());
}
}
}else if(f.getType() == Hashtable.class){
}
else if(f.getType() == HashMap.class){
}else if(f.getType() == Object[].class){
}
else{
print(f.getName(), f.get(obj).toString());
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想知道如何检查同一类的两个对象在每个属性中是否具有相同的值。
例如:
public class Person {
String name;
String surname;
String country;
int age;
public Person(String name, String surname, String country, int age) {
this.name = name;
this.surname = surname;
this.country = country;
this.age = age;
}
public boolean samePerson(Person person){
//CODE
}
Person person1 = new Person("Abel", "Smith", "EEUU", 26);
Person person2 = new Person("Alexa", "Williams", "Canada", 30);
Person person3 = new Person("Abel", "Smith", "EEUU", 26);
Person person4 = new Person("Alexa", "Williams", "EEUU", 30)
person1.samePerson(person2) // return false
person1.samePerson(person3) …Run Code Online (Sandbox Code Playgroud)