在Collection Interface中,我找到了一个removeIf()包含其实现的名为的方法.
default boolean removeIf(Predicate<? super E> filter) {
Objects.requireNonNull(filter);
boolean removed = false;
final Iterator<E> each = iterator();
while (each.hasNext()) {
if (filter.test(each.next())) {
each.remove();
removed = true;
}
}
return removed;
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何方法可以在接口中定义方法体?
什么是default关键字,它是如何工作的?
抽象类不需要包含任何抽象方法.
除了抽象类无法实例化这一事实之外,还有其他原因使类抽象化吗?
首先抱歉这个问题.这是一个非常古老的话题.
是的,我做了很多搜索,java是通过值传递的.
但是通过我的程序显示出来了.我不明白为什么?
我的节目是
class Dog{
static String dogName;
Dog(String name){
dogName=name;
}
public void setName(String newName){
dogName=newName;
}
public String getName(){
return dogName;
}
}
class JavaIsPassByValue{
public static void main(String arr[]){
Dog dog1=new Dog("OldDog");
new JavaIsPassByValue().display(dog1);
System.out.println(dog1.getName());
}
public void display(Dog d){
System.out.println(d.getName());
d = new Dog("NewDog");
System.out.println(d.getName());
}
}
Run Code Online (Sandbox Code Playgroud)
输出是,
OldDog
NewDog
NewDog
但我期待
OldDog
NewDog
OldDog
请任何人告诉我我错在哪里.
我写了一个程序来查找文件或目录.
它正常工作时,我试图在搜索文件与 目录
例如
java FileSearch abc.txt f:\xyz
但是当我尝试搜索文件从本地驱动器比程序抛出异常
java FileSearch abc.txt f:\
后,显示所有的搜索结果将引发NullPointerException异常.
代码是:
import java.io.*;
class FileSearch{
static String fd;
static boolean flg=true;
public static void main(String arr[]){
fd=arr[0];
String path=arr[1];
String dir[]=new File(path).list();
new FileSearch().finder(dir,path);
if(flg){System.out.print("File not found.");}
}
public void finder(String[] dir,String path){
for(int i=0;i<dir.length;i++){
if(dir[i].equals(fd)){
System.out.println(path+"\\"+fd);
flg=false;
}
if(new File(path,dir[i]).isDirectory())
finder(new File(path,dir[i]).list(),path+"\\"+dir[i]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道为什么抛出这个异常以及如何解决它.
java中使用的技术使字符串不可变?
或者我如何使我的字符串类不可变.
我只是想知道这背后的逻辑.
在我的代码中,我有大约150个用户的详细信息,可以节省很多时间.
哪一个更好的方法:
将用户详细信息保存在列表或对象中;
Map<String, List<String>> users= new Map<String, List<String>>();
List<String> data = new ArrayList<String>();
data.add(Name);
data.add(address);
data.add(phone);
users.put(userID,data);
Run Code Online (Sandbox Code Playgroud)
要么
Map<String, UserData> users= new Map<String, UserData>();
public class UserData {
Public String name;
Public String address;
Public String phone;
UserData(String name,String address,String phone){
this.name=name;
this.address=address;
this.phone=phone;
}
}
UserData userData=new UserData("Name","ADD","123") ;
users.put(userID,userData);
Run Code Online (Sandbox Code Playgroud)
如果我可以在我的代码中使用任何其他更好的方法,请建议我.
抱歉英语不好.
我正在尝试使用来查找另一个字符串中子字符串的位置IgnoreCase。
例:
String str ="aabbssddaa", str2="ab";
str.indexOf(str2);
Run Code Online (Sandbox Code Playgroud)
我想找到不区分大小写的str2的位置。表示str2 =其中任何一个“ ab”,“ Ab”,“ aB”,“ AB”
而且我只想遍历字符串一次。
我是java的新手.在这里,我尝试通过命令行参数找到长度第一个参数"arr [0]".我如何访问arr [0]的每个元素.这是我的计划.第5行引发错误.C
class LengthArr
{
public static void main(String[] arr)
{
int len= arr[0].length; //Cannot find symble
System.out.println(arr[0] + "Have length : " + len);
}
}
Run Code Online (Sandbox Code Playgroud)