From d49e97c42320a3488902beddd77cfd40ad6d94ca Mon Sep 17 00:00:00 2001 From: Janmm14 Date: Thu, 27 May 2021 22:23:43 +0000 Subject: [PATCH] #3099: Improve toArray calls by using an empty array as parameter. From Intellij IDEA inspections: Since late updates of OpenJDK 6 this call was intrinsified, making the performance of the empty array version the same and sometimes even better, compared to the pre-sized version. --- .../main/java/net/md_5/bungee/api/plugin/LibraryLoader.java | 2 +- chat/src/main/java/net/md_5/bungee/api/ChatColor.java | 2 +- .../main/java/net/md_5/bungee/api/chat/ComponentBuilder.java | 2 +- .../main/java/net/md_5/bungee/api/chat/TextComponent.java | 2 +- event/src/main/java/net/md_5/bungee/event/EventBus.java | 5 ++--- .../java/net/md_5/bungee/util/ChatComponentTransformer.java | 2 +- 6 files changed, 7 insertions(+), 8 deletions(-) diff --git a/api/src/main/java/net/md_5/bungee/api/plugin/LibraryLoader.java b/api/src/main/java/net/md_5/bungee/api/plugin/LibraryLoader.java index 48c31996..55e166c8 100644 --- a/api/src/main/java/net/md_5/bungee/api/plugin/LibraryLoader.java +++ b/api/src/main/java/net/md_5/bungee/api/plugin/LibraryLoader.java @@ -116,7 +116,7 @@ class LibraryLoader } ); } - URLClassLoader loader = new URLClassLoader( jarFiles.toArray( new URL[ jarFiles.size() ] ) ); + URLClassLoader loader = new URLClassLoader( jarFiles.toArray( new URL[ 0 ] ) ); return loader; } diff --git a/chat/src/main/java/net/md_5/bungee/api/ChatColor.java b/chat/src/main/java/net/md_5/bungee/api/ChatColor.java index 272d217e..d7747deb 100644 --- a/chat/src/main/java/net/md_5/bungee/api/ChatColor.java +++ b/chat/src/main/java/net/md_5/bungee/api/ChatColor.java @@ -300,7 +300,7 @@ public final class ChatColor @Deprecated public static ChatColor[] values() { - return BY_CHAR.values().toArray( new ChatColor[ BY_CHAR.values().size() ] ); + return BY_CHAR.values().toArray( new ChatColor[ 0 ] ); } /** diff --git a/chat/src/main/java/net/md_5/bungee/api/chat/ComponentBuilder.java b/chat/src/main/java/net/md_5/bungee/api/chat/ComponentBuilder.java index 1f8dd4c8..a7e50537 100644 --- a/chat/src/main/java/net/md_5/bungee/api/chat/ComponentBuilder.java +++ b/chat/src/main/java/net/md_5/bungee/api/chat/ComponentBuilder.java @@ -57,7 +57,7 @@ public final class ComponentBuilder */ public ComponentBuilder(ComponentBuilder original) { - this( original.parts.toArray( new BaseComponent[ original.parts.size() ] ) ); + this( original.parts.toArray( new BaseComponent[ 0 ] ) ); } /** diff --git a/chat/src/main/java/net/md_5/bungee/api/chat/TextComponent.java b/chat/src/main/java/net/md_5/bungee/api/chat/TextComponent.java index a7b9af73..1598dcc5 100644 --- a/chat/src/main/java/net/md_5/bungee/api/chat/TextComponent.java +++ b/chat/src/main/java/net/md_5/bungee/api/chat/TextComponent.java @@ -157,7 +157,7 @@ public final class TextComponent extends BaseComponent component.setText( builder.toString() ); components.add( component ); - return components.toArray( new BaseComponent[ components.size() ] ); + return components.toArray( new BaseComponent[ 0 ] ); } /** diff --git a/event/src/main/java/net/md_5/bungee/event/EventBus.java b/event/src/main/java/net/md_5/bungee/event/EventBus.java index 8da5f275..a6d717f2 100644 --- a/event/src/main/java/net/md_5/bungee/event/EventBus.java +++ b/event/src/main/java/net/md_5/bungee/event/EventBus.java @@ -117,8 +117,7 @@ public class EventBus currentPriorityMap = new HashMap<>(); prioritiesMap.put( entry.getKey(), currentPriorityMap ); } - Method[] baked = new Method[ entry.getValue().size() ]; - currentPriorityMap.put( listener, entry.getValue().toArray( baked ) ); + currentPriorityMap.put( listener, entry.getValue().toArray( new Method[ 0 ] ) ); } bakeHandlers( e.getKey() ); } @@ -196,7 +195,7 @@ public class EventBus } } } while ( value++ < Byte.MAX_VALUE ); - byEventBaked.put( eventClass, handlersList.toArray( new EventHandlerMethod[ handlersList.size() ] ) ); + byEventBaked.put( eventClass, handlersList.toArray( new EventHandlerMethod[ 0 ] ) ); } else { byEventBaked.remove( eventClass ); diff --git a/proxy/src/main/java/net/md_5/bungee/util/ChatComponentTransformer.java b/proxy/src/main/java/net/md_5/bungee/util/ChatComponentTransformer.java index bb41b366..faca17fa 100644 --- a/proxy/src/main/java/net/md_5/bungee/util/ChatComponentTransformer.java +++ b/proxy/src/main/java/net/md_5/bungee/util/ChatComponentTransformer.java @@ -115,7 +115,7 @@ public final class ChatComponentTransformer { if ( root.getExtra() != null && !root.getExtra().isEmpty() ) { - List list = Lists.newArrayList( transform( player, transformHover, root.getExtra().toArray( new BaseComponent[ root.getExtra().size() ] ) ) ); + List list = Lists.newArrayList( transform( player, transformHover, root.getExtra().toArray( new BaseComponent[ 0 ] ) ) ); root.setExtra( list ); }