我刚刚学习了Java的Scanner类,现在我想知道它如何与StringTokenizer和String.Split进行比较/竞争.我知道StringTokenizer和String.Split只适用于字符串,那么为什么我要将扫描器用于字符串呢?Scanner只是打算一站式购物吗?
如何String基于空格拆分,但将引用的子串作为一个单词?
例:
Location "Welcome to india" Bangalore Channai "IT city" Mysore
Run Code Online (Sandbox Code Playgroud)
它应存放在ArrayList为
Location
Welcome to india
Bangalore
Channai
IT city
Mysore
Run Code Online (Sandbox Code Playgroud) 我正在System.in使用一个用户输入java.util.Scanner.我需要验证以下内容的输入:
最好的方法是什么?
我正在研究Java中的遗留API,Collection Framework并且我学到了诸如Vector并且HashTable已经被ArrayList和取代的类HashMap.
但是,它们仍然不被弃用,并且在本质上被视为遗留,弃用适用于被取代且应该避免的软件功能,因此,我不确定什么时候API被认为是遗留的以及何时被弃用.
Java 9提供了获取信息的漂亮方式Process,但我仍然不知道如何获取进程的CommandLine&arguments:
Process p = Runtime.getRuntime().exec("notepad.exe E:\\test.txt");
ProcessHandle.Info info = p.toHandle().info();
String[] arguments = info.arguments().orElse(new String[]{});
System.out.println("Arguments : " + arguments.length);
System.out.println("Command : " + info.command().orElse(""));
System.out.println("CommandLine : " + info.commandLine().orElse(""));
Run Code Online (Sandbox Code Playgroud)
结果:
Arguments : 0
Command : C:\Windows\System32\notepad.exe
CommandLine :
Run Code Online (Sandbox Code Playgroud)
但我期待:
Arguments : 1
Command : C:\Windows\System32\notepad.exe
CommandLine : C:\Windows\System32\notepad.exe E:\\test.txt
Run Code Online (Sandbox Code Playgroud) java ×5
collections ×1
java-9 ×1
process ×1
split ×1
terminology ×1
tokenize ×1
validation ×1
windows ×1