我不小心通过命令将根文件夹(/)和所有子文件夹的所有者设置为一个用户
$ sudo chown -R 'userName' /*
Run Code Online (Sandbox Code Playgroud)
现在我想通过命令将所有者设置回root用户
$ chown -R root:root /*
Run Code Online (Sandbox Code Playgroud)
但我没有这项行动的许可.如果我使用命令
$ sudo chown -R root:root /*
Run Code Online (Sandbox Code Playgroud)
它返回
sudo: effective uid is not 0, is sudo installed setuid root?
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能解决这个问题?
在我的Android Studio项目中,我有简单的类结构:
public class P{}
public class A extends P{}
public class B extends P{}
Run Code Online (Sandbox Code Playgroud)
在另一个班级我有一个List:
private List<? extends P> data;
private List<A> listA;
private List<B> listB;
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试这样做时:
data = listA; //it's ok
data.addAll(listB); //it calls error
Run Code Online (Sandbox Code Playgroud)
Android Studio中的第二行是红色,错误是:
addAll(java.util.Collection<capture<? extends com.mydomain.P>>)
in List cannot be applied to (java.util.List<com.mydomain.subclass.B>)
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
我有一个Spring控制器,其方法映射到请求:
@RequestMapping(value = "/album", method = RequestMethod.POST)
public void generateAlbum(GenerateAlbumParams params, HttpServletResponse response){
...
}
Run Code Online (Sandbox Code Playgroud)
GenerateAlbumParams是一个简单的类:
@Getter
@Setter
public class GenerateAlbumParams {
public enum Position {LEFT_TOP, LEFT_BOTTOM, RIGHT_TOP, RIGHT_BOTTOM}
private List<SlideParams> slideParams = new ArrayList<>();
}
Run Code Online (Sandbox Code Playgroud)
和SlideParams是:
@Getter
@Setter
public class SlideParams{
private Boolean checked = false;
private Long id;
private GenerateAlbumParams.Position mapLegendPosition;
private GenerateAlbumParams.Position mapTablePosition;
}
Run Code Online (Sandbox Code Playgroud)
一切正常,但如果我想将SlideParams作为GenerateAlbumParams的内部类:
@Getter
@Setter
public class GenerateAlbumParams {
public enum Position {LEFT_TOP, LEFT_BOTTOM, RIGHT_TOP, RIGHT_BOTTOM}
private List<SlideParams> …Run Code Online (Sandbox Code Playgroud)