java中的nextChar()

java中的nextChar(),java,char,java.util.scanner,Java,Char,Java.util.scanner,如果我使用扫描仪进行输入,并且我想将单个字符放入char类型变量中,那么最有效的算法是什么?我只是注意到next()和nextLine()都返回字符串,不管大小如何,除了获取字符串、将其转换为char数组然后获取第一个元素之外,我想不出该如何做。一定有更有效的方法 您可以使用FileChannel创建ByteBuffer。在此之后,您可以调用asCharBuffer()方法返回字符缓冲区 下面是一个不错的例子: 要从输入中读取字符,可以使用内置函数char charAt(): 为什么您认为获取字

如果我使用扫描仪进行输入,并且我想将单个字符放入char类型变量中,那么最有效的算法是什么?我只是注意到next()和nextLine()都返回字符串,不管大小如何,除了获取字符串、将其转换为char数组然后获取第一个元素之外,我想不出该如何做。一定有更有效的方法

您可以使用
FileChannel
创建
ByteBuffer
。在此之后,您可以调用
asCharBuffer()
方法返回字符缓冲区

下面是一个不错的例子:

要从输入中读取字符,可以使用内置函数
char charAt()


为什么您认为获取字符串输入效率很低?您认为什么更慢或效率更低,Java输入一个字符串并提取一个字符,还是用户输入一个或多个字符?Java字符类型变量不够大,无法容纳一个字符。Java字符类型的宽度为16位!您使用的是什么编码,一个原语类型必须使用这种编码!Unicode肯定能工作。这只有在字符是utf16编码的情况下才有用。这不是一个通用的字节到字符转换实用程序。@jtahlborn java.lang.String(byte[]buf,字符串编码)?sc的类型是什么?
import java.util.Scanner;
Scanner sc = new Scanner(System.in); 
char c = sc.next().charAt(0)