草庐IT

java - 为什么 Cache.asMap() 与 Cache.size() 不一致?

在Guava图书馆,我很困惑为什么Cache.asMap()与Cache.size()不一致,除非Cache.cleanUp()叫做。Cachecache=CacheBuilder.newBuilder().expireAfterWrite(1,TimeUnit.SECONDS).build();cache.get(...);...//Aftersomeseconds,allentriesareexpired.//cache.asMap()isEMPTYMap,butcache.size()!=0所以我的问题是:Cache.asMap()与Cache.size()不一致是不是bug?虽

java - 在访问器方法名称中使用 "get"作为前缀的优点/原因

我知道在Java中,通常的做法是使用“get”作为访问器方法的前缀。我想知道这是什么原因。仅仅是为了能够预测它返回的是什么吗?澄清一下:在某些java类(例如String)中,可以通过调用“length()”而不是“size()”来访问像length这样的变量。为什么这些方法是这样写的,而其他的像“getSomeVariable()”?感谢您的宝贵时间。编辑:很高兴看到我不是唯一一个对大小和长度变量感到困惑的人 最佳答案 “get”前缀(或“is”用于返回boolean值的方法)是JavaBean的一部分规范在整个Java中使用,但

java - 增加 JButton 中的字体大小

我不知道如何完成我的学期项目。我正在开发ConnectFour游戏,我想增加JButton中的字体大小。我对编程还比较陌生,还没有使用过任何字体。我只想至少将按钮内的字体加倍,以使其在游戏过程中更加明显。有人可以帮助我,或者指出我寻找解决方案的方向吗?谢谢!我的代码如下。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassConnectimplementsActionListener{privateJFramewindow=newJFrame("ConnectFourbyStevenandAnth

java.sql.SQLNonTransientConnectionException : org. apache.thrift.transport.TTransportException : Frame size larger than max length (16384000)!

我在IntellyJ中有一个带有CassandraDB的java项目,我使用的是Maven3和Java7。Cassandra版本是2.0.6。我有一个包含近100,000行的表。当我运行该程序时,出现此异常:java.sql.SQLNonTransientConnectionException:org.apache.thrift.transport.TTransportException:Framesize(16858796)largerthanmaxlength(16384000)!atorg.apache.cassandra.cql.jdbc.CassandraStatement.

Java邮件 : get size of a MimeMessage

我正在尝试获取MimeMessage的大小。getSize()方法总是简单地返回-1。这是我的代码:MimeMessagem=newMimeMessage(session);m.setFrom(newInternetAddress(fromAddress,true));m.setRecipient(RecipientType.TO,newInternetAddress(toAddress,true));m.setSubject(subject);MimeBodyPartbodyPart=newMimeBodyPart();bodyPart.setContent(body,"text/h

java - 查找多个列表中的元素数量并合并;删除 if/else 复杂?

我有一个列表列表:List>someList=newList>();列表的最大大小为五个字符串。就像下面这样:someList.get(0).size();//4elementssomeList.get(1).size();//1elementssomeList.get(2).size();//3elementssomeList.get(3).size();//1elements...我正在尝试设计一种方法,通过组合上述一些嵌套列表来创建特定大小(1-5个元素)的新列表。我可以做类似下面的事情(在这个例子中,三个元素):publicListgetThree(){for(intj=0;j

java - 我可以使用 Collection.size() 来替换这段代码中的计数器吗?

代码如下:publicclassLogService{privatefinalBlockingQueuequeue;privatefinalLoggerThreadloggerThread;privatefinalPrintWriterwriter;@GuardedBy("this")privatebooleanisShutdown;@GuardedBy("this")privateintreservations;//这是JavaConcurrencyinPractice一书的片段,我在想也许计数器reservations是不必要的,因为我们可以简单地使用queue.size()获取q

java - FileChannel.transferTo 用于 Windows 中的大文件

使用JavaNIO使用可以更快地复制文件。我主要通过互联网找到了两种方法来完成这项工作。publicstaticvoidcopyFile(FilesourceFile,FiledestinationFile)throwsIOException{if(!destinationFile.exists()){destinationFile.createNewFile();}FileChannelsource=null;FileChanneldestination=null;try{source=newFileInputStream(sourceFile).getChannel();desti

java - 来自用字段值初始化的数组的 ArrayIndexOutOfBoundsException

当我尝试将一个元素放入Java数组中时,我从构造函数参数中获取数组大小,它会抛出一个ArrayIndexOutOfBoundsException异常。但是,当我在声明添加元素的数组时设置大​​小时有效。这是我的代码:publicclassStack{publicintsize;publicStack(intsize){this.size=size;}publicint[]arr=newint[size];publicinttop=-1;//Methodspublicvoidpush(intvalue){top++;arr[top]=value;}}以下抛出异常:newStack(10)

java - JFrame : Getting actual content size

我已经创建了一个JFrame,并且尝试获取它的大小给出了一个不正确的结果,与我的预期相比。我确定它包括边缘周围的操作系统边框和标题栏。如何获取/设置可用于渲染的实际尺寸? 最佳答案 您得到的大小是内容的大小和insets的大小.如果你使用Jcomponent.getInsets(),你可以通过简单的减法找到内容的大小。 关于java-JFrame:Gettingactualcontentsize,我们在StackOverflow上找到一个类似的问题: http